Thursday, January 31, 2008

Роман с ответвлениями

"Ведомости" описывают рекламные трюки издателей, когда какую-то дополнительную информацию по тексту книги (кто же убил старушку и кого фамилия начинается на букву Р и т.д.) можно узнать по SMS, отправив сообщение на напечатанный здесь же премиум-номер.
Не знаю как это будет с книгами, а вот печатать медиа-ссылки в прессе мы различным издателям предлагали. Например, печатать телефон (код) для прослушивания какого-то звукового фрагмента непосредственно в тексте статьи (там, естественно, где такие фрагменты есть). Такие материалы легко готовить самостоятельно и потенциальным "читателям" будет проще превратиться в слушателей. Идея ведь простая - если какой-то текст есть на сайте, то можно поставить сссылку на звуковой файл (флеш-проигрыватель etc.). А что делать в печатном виде? Вот собственно и была (есть) идея просто публиковать номер телефона (плюс возможно код - если материалов несколько) для прослушивания файла. И подобная система полностью самообслуживаемая. Издательство само такие голосовые фрагменты может записывать (также по телефону), публиковать, естественно, и т.д. Вот сервис AudioLink - это как раз из этой серии. Но пока так никто не делает. Реально прослушивание голосовых файлов по телефону работает для подкастов. Газету "Ведомости", в частности тоже можно слушать по телефону. Но остался еще один шаг :-) Вот на сайте газеты сейчас есть номер телефона для прослушивания подкаста, осталось указывать номер в печатных материалах (где есть аудио). А ведь так можно еще и аудио-отклики собирать. Получится такой народный подкаст. Аудио-файлы можно собрать по телефону, а сам подкаст - хоть и в сети опубликовать. Осталось только уговорить издателей :-)

Wednesday, January 30, 2008

Еще миллион

Теперь еще и Sun Miсrosystems озаботился развитием собственных средств разработки и решил выделить $1 млн. в качестве гранта для разработчиков модулей для платформы Netbeans. Конкурс проводится в два этапа. До 3 марта подать заявку. Победителей (выбранные заявки) будут объявлены 1 апреля (ха-ха :-). Им (победителям) будут обещаны (тоже 1-го апреля?) гранты (деньги) на (точнее за) разработку своих предложений, которые будут выплачены по завершению разработки в августе.

P.S. кто-то уже заметил, что если сложить все обещанные гранты, то сумма будет существенно меньше заявленного миллиона. Ну значит жизнь такая, тут сказать ... Кроме того, что возможно и Eclipse решит сделать что-то подобное. А может и не решит - Eclipse судя по всему и так более популярный и недостатка в модулях не испытывает.

Дождались ...

User-Agent из лога веб-сервера: Mozilla/5.0 (Linux; U; Android 0.5; en-us) AppleWebKit/522+ (KHTML, like Gecko) Safari/419.3

Tuesday, January 29, 2008

XMPP сервисы

Хороший материал про разработке распределенных сервисов на основе XMPP. Базируется на презентациях от Jive Software - это, пожалуй, основной поставщик Java средств для XMPP (см. напрмер, здесь). Идеи понятны и многократно обуждались - использование HTTP в распределенных системах связано с большими накладными расходами. Это просто реализовать, работать будет везде (порты для HTTP открыты), но это не масштабируется. Все, что базируется на HTTP это (в силу самого протокола) всегда есть некоторый поллинг (попросту - опрос сервера). Все, что касается push - на самом деле просто моделируется с помощью все того же poll. И, соответственно, когда число "опросчиков" растет, то масштабирование становится большой проблемой. Подходы, связанные с использованием протоколов от IM базируются, естественно, на push. XMPP здесь просто выбран как открытый протокол, не зависящий от вендора.

Monday, January 28, 2008

Maria

Маша. Красивое имя, а главное - редкое. В дополнение к недавней публикации о MySql storage engines пришла информация о еще одном механизме: Maria. Имя выбрано в честь дочери разработчика. Цель, как обозначено в очень подробном FAQ от разработчиков - crash-safe alternative to MyISAM. Так что список типичных применений, опубликованный в предыдущей статье может измениться. Общая идея - создать новый механизм для MySql 6.x, который мог бы использоваться как в транзакционном, так и нетранзакционном (как MyISAM) режимах. Что в итоге будет проще для пользователей.
А основное, что уже есть сейчас - практически как MyISAM, но с восстановлением данных и индексов после сбоев.

Skype mobile

Довольно подробный обзор текущего состояния дел с мобильным Скайпом. Общий вывод - наиболее практичный способ сегодня состоит в голосовом звонке на ближайший Skype сервер (возможно, стоящий у оператора связи :-), а далее уж пусть сервер через Skype (и безо всякой мобильности :-) свяжется с кем указано.

Saturday, January 26, 2008

Как настоящий, но маленький

Apache сервер, как настоящий - но маленький. Работает на телефоне Nokia. Мы уже писали об этом проекте. А интересно в этой связи следующее. Есть ведь и Open source веб-контейнеры на Java. И Tomcat здесь не единственный. В этой связи, задача портинга (запуска) веб-сервера на платформе Google Android есть вполне реальная. Хотя может кто-то из участников конкурса (или даже сам Google) уже что-то такое делает.

Friday, January 25, 2008

Запись голоса

Усиленно рекламируется новый файловый хостинг drop.io. Он, в числе прочего, поддерживает интересную опцию записи голоса. Каждому хранилищу выдается собственный телефонный номер, позвонив на который можно записать свою речь в виде mp3 файла, который здесь и будет выложен.

Между прочим, в отечественной сети такие возможности существуют уже сравнительно давно и могут быть доведены хоть до каждого пользователя подобного сервиса в отдельности. Например, сервис Voice 2 WAP как раз и предназначен для записи на лету mp3 файлов. А сервис Voice 2 Email обеспечивает пользователям такое хранилище на базе почтового сервера: записанный mp3 файл будет прислан по указанному e-mail адресу. В качестве хранилища можно использовать, например, Gmail. Там теперь и проигрыватель встроенный есть.

Нет слов

Слов нет, ибо нет лицензии :( Комитет по собственности рекомендовал Госдуме принять в 1-м чтении законопроект о лицензировании воспроизведения программ для ЭВМ и баз данных.
Из этого документа: "Законопроект, внесенный правительством РФ, в целях противодействия нарушениям в сфере производства и распространения мультимедийной продукции, а также совершенствования законодательства в области лицензирования отдельных видов деятельности вносит изменение, расширяющее перечень продукции, деятельность по воспроизведению которой подлежит лицензированию, программами для ЭВМ и базами данных на оптических носителях и магнитной ленте, за исключением программ для ЭВМ и баз данных, изготовление экземпляров которых предусматривается публичным договором - лицензионным соглашением на право их использования.".
То есть человек, написавший что-то в Open Source (без публичного договора), шароварщик, а равно как и стартап, не озаботившийся таковым договором - будут взяты на цугундер. На законных, так сказать, основаниях. Останется только переквалифицироваться в управдомы ...

Thursday, January 24, 2008

Тотальный JavaScript

Компания Aptana выпустила open source Ajax сервер
Jaxer. Идея - унифицировать программирование серверной и клентской части веб-приложений. Теперь это JavaScript там и там. Когда давно был такой серверный JavaScript у компании Netscape. Теперь вот второе пришествие. Один и тот же JavaScript код по выбору разработчика может исполняться либо на сервере, либо на стороне клиента.

По крайней мере, один плюс (и именно для Ajax приложений) точно есть. Пропадают проблемы с Cross-Domain Ajax запросами. Запрос (Ajax запрос!) к стороннему сервису можно просто перенести (как есть) на сторону сервера.
Но какова будет производительность подобных систем и как они масштабируются - это большой вопрос. У Netscape, например, все было очень медленно.

Технически - это приложение для Apache. Собственно загрузочный пакет на сайте и есть Apache с дополнительными модулями. Лицензия на Jaxer - GPL.

P.S. у этой фирмы еще очень интересный руководитель. Paul Colton - с него, по сути, началось серверное программирование на Java. Он сделал первый коммерческий (промышленный) контейнер для Java сервлетов (JRun), потом это было куплено Allaire (создатель Сoldfusion) и отсюда пошли современные версии Coldfusion, которые базируются на JEE серверах. А уже потом всех купил Adobe :-)

Стенгазета

Попутно с запуском загрузки юзерпиков (см. также здесь), обновились и версии для двух старых сервисов:
Voice 2 WAP: http://linkstore.ru/voice2wap/
и
Voice 2 Email: http://linkstore.ru/voice2email/

Чтиво 24.01.2008

Популярные ссылки по мнению linkstore.ru:

Wednesday, January 23, 2008

1001 сервис

1001 по номеру заметка в этом блоге. Новый Mobile 2.0 mashup: Userpic to WAP. Идея абсолютно прозрачна. Генерируемый пользователями контент есть основа всего, снабжаемого индексами 2.0 Вот есть один из примеров такого контента - пользовательские картинки (userpics) в livejournal.com (он же ЖЖ). Сервис Userpic to WAP представляет из себя mashup, который обеспечивает загрузку таких картинок в мобильный телефон. Кроме собственно livejournal.com используется сервис Click to Mobile, как мобильные закладки.
Userpic to WAP есть, собственно говоря, одностраничное веб-приложение, где можно указать имя журнала в livejournal.com и получить автоматически созданную ссылку для запоминания его аватара (userpic). Далее запомненная ссылка (это будет просто некоторый URL, описывающий графический файл на сайте livejournal.com) может быть в один клик загружена в мобильный телефон, используя WAP/PDA сайт. Простой способ стимулировать трафик в мобильном интернете, облегчив пользователям доступ к уже существующему контенту.

Tuesday, January 22, 2008

Петербургские совы

Интересный Google Maps mashup: совы и девы в архитектуре Петербурга. Сделан по материалам одноименного сайта. Красивый это все-таки город. Хотя ни разу не был там в нормальную погоду ...

P.S. эта заметка в нашем блоге имеет номер 1000. Все прогрессивное человечество празднует, забыв про финансовый кризис ...

MySQL storage

Хорошая практическая публикация по MySql storage engines. Это есть в документации, но не в таком четком виде и размазано по тексту. Здесь же собрано в одном месте (по типу статьи о настройке производительности). Вот магический квадрант по выбору storage engines в зависимости от исходных требований.



Приводятся и типичные модели использования. Например:

поисковые данные - NDBCluster

Web-статистика - Flat file для записи и демон, который в офлайне пишет данные в InnoDB таблицы. Очевидно, что это из соображений производительности выбирается, реальная запись в базу отделена от веб-процессов.

Финансовые транзакции - InnoDB

Веб-сессии (читай - электронная коммерция) - MyISAM or NDBCluster

вычисления и локализация - HEAP. Все в памяти и нет нужды сохранять временные таблицы

Словари - MyISAM. Поскольку основная операция для словарей - чтение

Monday, January 21, 2008

Twitter

Twitter открывает свою платформу. Коды ядра системы - сервера обработки сообщений Starling доступны здесь. Интересно, что это Ruby приложение, по функциональности соответствует облегченной версии JMS сервера в JEE. Управление очередями, реализованное на базе протокола MemCached. Интересно, как растет популярность MemCached. Уже не только само приложение, но и его протокол переиспользуется в других проектах.

Saturday, January 19, 2008

Дизель - GSM

Почта на Мастерхосте в результате известной аварии заработала у нас в итоге только в конце дня. Хостинг теперь оправдывается, но отсутствия дизель-генератора это не заменит. Поскольку мы пишем здесь, в основном, не о железе, то написать в этой связи хотелось бы именно о софте. И даже вполне себе по теме. Современные системы обеспечения электропитания вполне себе уживаются с телекоммуникационными сервисами. Собственный опыт работы с такими системами (конкретно, вот для этих железок), подверждает, что в плане мониторинга они (дизель-генераторы) могут выступать как SMS сервисы. Дизтопливо по SMS не залить (пока), но запускать/останавливать, опрашивать параметры и т.п. вполне можно делать посредством отправки SMS. Платы управления этих устройств содержат GSM модули. Это вообще довольно интересная область - M2M системы.
Кстати, первое применение SMS шлюза, о котором мы писали, именно к этой области и относилось. Через него опрашивали по SMS системы с SNMP интерфейсом. Шлюз получал SMS с запросом, опрашивал по SNMP устройства (это были ИБП) и отправлял результаты назад по SMS. Также информация об ошибках (SNMP alarms) расcылалась по SMS заинтересованным лицам.

Friday, January 18, 2008

Автокарта


Вот, на самом деле, какие устройства нужно было бы выпускать с Глонасом: http://dash.net. Это автомобильный GPS, но с интернет соединением. Идея понятна - показывать не только как ехать из точки А в точку Б, но и что находится по дороге. А это "что" как раз и подкачивается из карт, доступных в сети. Из тех же Google Maps mashups, например. А если, как прогнозирует Radar, еще и API появится, то можно будет специально для устройств публиковать данные, искать ближайшие и т.д. Социальная сеть прямо в дороге. Не отрываясь от руля, так сказать. На дорогу только смотреть будет некогда, или голосовые интерфейсы сразу нужно делать. Это ведь на самом деле можно будет рассматривать как API (веб-интерфейс, в частности) для отдельно взятой машины

Туда и обратно

Не могу удержаться, что называется:

"Основной поставщик услуг широкополосного интернета в Казахстане компания "Казахтелеком" безусловно соответствует современным требованиям, предъявляемым ведущим, технологически развитым странам, так как предоставляет своим клиентам скорость 128 кбит/с как на входящем, так и на исходящем канале, что в сумме составляет 256 кбит/c", - отметил Аскар Бишигаев (вице-президент Казахтелекома).

Отсюда

Thursday, January 17, 2008

LAMP производительность

Еще практические рекомендации по настройке производительности MySQL:

- включайте MySQL query cache для чтения.

- mysql_unbuffered_query поможет съэкономить память по сравнению с mysql_query

- key_buffer_size (по умолчанию 8Mb) должен быть обычно в пределах 25%-50% памяти сервера

Практический способ определения достаточности размера буферов:

mysql> SHOW STATUS LIKE '%key_read%';

Variable_name  Value

Key_read_requests  6375479
Key_reads           130562

Должно быть по крайней мере 100 key_read_requests (чтение из памяти) для каждого key_reads (чтение с диска)

- key_buffer_size помогает ускорить операции сортировки. Но - это выделяется под каждое соединение

- кэширование в локальном файле часто быстрее, чем использование продуктов типа memcached. Кстати, для Java приложений мы сами этот факт использовали. Вот пример фильтра для кеширования

Отсюда

P.S. как оно все с MySQL будет ...

Wednesday, January 16, 2008

Окружают

Производителей программного обеспечения становится все меньше. Oracle все-таки покупает Bea. А Sun (видимо в ответ, как Элочка-людоедка) покупает MySQL. Интересно, что до этого Oracle купил InnoDB - это движок используемый в MySQL. И что они (Оракл) разрешат другой коммерческой компании использовать его бесплатно?

P.S. когда-то несколько человек из Sun (и независимо друг от друга) рассказывали мне, что компания имеет богатый опыт по скупке и последующему удушению/гноблению успешных программных продуктов (с серверами приложений, на самом деле, точно так и было). Так что, какие перспективы у MySQL - неизвестно. А так - CEO Sun в своем блоге обещает помочь дельфину летать (!)

OpenID delegate

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

1. предположим, что существует (а он существует :-) OpenID URL http://abava.livejournal.com. Он описывает пользователя на сервере livejournal.com

2. на собственном сервере можно создать следующий файл abava.htm:

<html>
<head>
<link rel="openid.server" href="http://www.livejournal.com/openid/server.bml" />
<link rel="openid.delegate" href="http://abava.livejournal.com/" />
</head>
<body>
OpenId delegate
</body>
</html>

Здесь указаны два заголовка, которые делегирую проверку серверу livajournal.com. Тогда, при авторизации на сайтах, поддерживающих OpenID, можно в качестве имени указывать http://мой_сервер/abava.htm После проверки пользователя (на сайте livejournal.com!), пользователь на сайте будет описываться как http://мой_сервер/abava.htm
Можно, например, добавить делегирующие заголовки к корневому файлу проекта (index.jsp, index.php etc.) и вcегда авторизовываться на сторонних сайтах под именем своего проекта (сайта, блога): http://мой_сервер

Некоторые популярные OpenID сервера:

LiveJournal http://www.livejournal.com/openid/server.bml
Vox http://www.vox.com/services/openid/server
VeriSign https://pip.verisignlabs.com/server
MyOpenID http://www.myopenid.com/server

Tuesday, January 15, 2008

GeoSMS beta 3

Новый релиз продукта, добавлены новые функции взаимодействия. Что есть:

Google Maps mashup - SMS сообщения на карте. Микроблогинг, где вы можете смотреть в реальном времени SMS сообщения, привязанные к географическим координатам.



Как это работает:

1. веб-приложение: http://geosms.linkstore.ru
После запуска нажмите линк Start. Теперь отображение запущено. SMS, присланные на номер 7909 9213670 будут отображаться на карте. Для остановки процесса нажмите Stop, соответственно.

2. Пошлите SMS на номер 7909 9213670. Это обычный номер, (не premium rate) - отправка SMS стоит столько, сколько она стоит в вашем тарифном плане. Оператор - Билайн. Формат SMS для отправки

*адрес*текст сообщения

Иными словами * в начале сообщения обрамляют адрес. Например:
*Клинцы*Мы из Клинцов
или
*Москва, Зеленоградская 45*Речной вокзал

Для Москвы можно, например, указать станцию метро:

*Москва Динамо*

вы можете, также, послать отдельно SMS с адресом:

*адрес*

Такие сообщения не отображаются, но тогда в последующих SMS адрес можно не указывать. Все сообщения с данного номера будут привязаны к последнему известному адресу. И так до тех пор, пока вы не смените адрес.

Если адрес для номера отправителя не указан (не установлен), то текст сообщения привязывается к точке с координатами (53.142729083526305, 29.223976135253906). Это в районе Бобруйска.

Просматривать сообщения можно либо для всей карты (режим Free Map) или только для выбранного участка карты (Fixed Map). В режиме Fixed Map вы будете видеть только сообщения относящиеся к видимому фрагменту карты.
Линк Home позволяет вам запомнить установки карты для следущего запуска, Zoom - разворачивает/сворачивает карту. Гиперссылка Center позволяет вам искать определенный адрес на карте и быстро переместиться на заданный участок.
Карту можно встроить в собственный сайт (блог) - ссылка Embed. Тогда ваши посетители смогут следить за новыми сообщениями (и комментировать их) непосредственно на вашем собственном сайте.

Для веб-пользователей в настоящей версии поддержан Чат. Также можно выбрать область на карте и подписаться по RSS на все сообщения, которые будут появляться в этой области.

Мобильные пользователи могут использовать следующий WAP http://wsms.linkstore.ru или PDA http://psms.linkstore.ru сайты. Если на любом из мобильных сайтов в начальной форме указать номер телефона, то, в предположении что его координаты вами заданы (см. выше), можно читать последние сообщения относящиеся к области с радиусом примерно 20 км от данной точки. А для неизвестного номера, соответственно, - 20 км в окрестности Бобруйска. То есть можно микроблогинг использовать еще и как местные новости с поддержкой мобильных пользователей.

Все сообщения модно комментировать. При этом мобильные пользователи, естественно, будут видеть комментарии от веб-пользователей на свои сообщения. То есть, это можно использовать и как wap-чат (причем, местный). В одном из примеров использования это была система помощи для мобильных пользователей. Они могли получать комментарии от веб-пользователей на свои сообщения/запросы. Хинт: в комментариях можно указывать ссылки, тогда WAP пользователи смогут загружать указанные ресурсы.
Некоторые другие возможные применения указаны в этом отклике на ранние версии сервиса.

Кадастр

Второй день обновляем список отечественных проектов, использующих Google Maps API. В почте и комментариях прислали довольно интересные новые ресурсы. См. обновленный список здесь.

Monday, January 14, 2008

Google Maps Mania - 3

Появились новые записи и пришло время обновить список проектов (систем), выполненных на базе Google Maps. То, с чего все началось, можно посмотреть здесь. Итак:

Информационные системы:

Афиша
Банкоматы Петербурга
Донецк
Карта рыбака
Картакадабра
Квартиры в Москве
Кинотеатры в Москве
МАКС 2007
Местная погода
Мурманск
Новостройки в Сибири
Окрестности Екатеринбурга
Отели Египта

Пермь
Пермь на карте

пос. Правдинский
Пушкино
Сеть распространения печатной продукции
Сноуборд
Храмы России
Cosmopolitan шоппинг
Футбольные поля
Live Events
National Geographic Traveler

User generated content (geo tagging):

Geo links
Geo SMS

View and organize geographical data
WikiMapia

Инструменты:

Maps2lj - публикация карт в ЖЖ
Технические аспекты

Социальные сети:

Вокруг меня
Мир тесен
Отдыхали.ru
Соседи-онлайн

Гаджеты и карты:

Атлас Москвы
Ветеринарные клиники в Москве
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
Москва, район Аэропорт
Новые рестораны
Публичные туалеты в Москве
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок

Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.

Friday, January 11, 2008

Мобильные закладки - 3

Очередной этап развития сервиса Click to Mobile. Мы уже анонсировали это, поэтому здесь хотелось бы резюмировать текщую ситуацию с сервисом.

Основная идея - сохранение контента из сети для доступа (использования) на мобильном телефоне. В качестве контента может выступать произвольный текст и/или ссылка (на картинку, mp3 файл и т.д.). Владелец контента (вебмастер) сам размещает такие ссылки у себя на сайте точно также, как это делается сейчас для любой системы закладок (del.icio.us и подобные). Отличие только в том, что от потенциального пользователя не требуется никакой регистрации. Поэтому "сохранение" контента происходит без перехода пользователя на какой-то другой сайт. Это просто JavaScript окно, которое открывается поверх исходного сайта. Кликните на иконке с телефоном на этом сайте, чтобы посмотреть как это выглядит. Что конкретно будет запомнено определяется вебмастером сайта (это просто строка - параметр JavaScript функции). А в качестве ключа для доступа к сохраненным данным посетителю сайта предлагается просто указать номер телефона.

После того как данные "сохранены", мобильный пользователь может использовать сайты
http://wap.linkstore.ru или http://pda.linkstore.ru. для WAP и PDA устройств, соответственно. Опять таки здесь нет никакой регистрации. Мобильному пользователю предлагается просто указать номер телефона и показываются закладки, ассоциированные с данным номером

Ну и, конечно, возможность получения сохраненного текста (или ссылки) по SMS никуда не делась. По прежнему можно позвонить 0942 (звонок платный), указать код сервиса 9000 и получить сохраненный текст (или ссылку) в виде SMS. Также безо всякой регистрации. Номер телефона, с которого пришел звонок и будет использоваться как ключ для поиска данных.

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

Зачем и для кого? Для владельцев сайтов подобного рода сервис есть, как мы уже указывали, один из самых простых способов привлечь мобильный трафик. Не нужно готовить специальные версии сайта, не нужно менять структуру и т.д. Подключение сервиса есть просто добавление JavaScript файла, так что это будет работать независимо от используемой технологии создания сайта. Сохранить предложенную информацию может любой посетитель сайта, от него не требуется нигде регистрироваться, процедура сохранения данных не уводит посетителя с сайта. Отдельно хотелось бы отметить, что сохраняется произвольный текст, определяемый самим владельцем сайта. Это не обязательно должна быть ссылка. В самой первой демонстрации такого сервиса использовался портал объявлений о купле-продаже автомобилей. И там для посетителей была добавлена возможность сохранять объявления (ключевая информация + контактные телефоны) у себя в мобильном телефоне. Подобным образом можно сохранять контактную информацию и адреса, расписание работы и т.д. Это просто дополнительная опция для посетителей. Ведь доступ к сохраненной информации с использованием WAP/PDA устройства бесплатный (кроме, естественно, оплаты трафика у оператора) и не требует никакой регистрации.

Для операторов связи подобный сервис есть средство стимулирования мобильного трафика. Сервис облегчает доступ к существующему контенту с использованием мобильных телефонов. Количество тех же самых музыкальных фрагментов или картинок в сети, естественно, огромно. Но набирать длинный URL для доступа к файлу с использованием клавиатуры телефона дело не самое благодарное. Теперь же можно выдать потенциальным пользователям WAP/HTML страницы с готовыми ссылками. Весь контент оказывается на расстоянии одного клика. При этом не нужно специально создавать мобильные версии сайтов. И контент с существующих сайтов никуда не копируется. Весь мобильный трафик, естественно, получают те сайты, откуда пользователи и будут в итоге скачивать контент.

Публикации по теме: см. здесь

Cross-Site XMLHttpRequest

Описание реализации сross-Site XMLHttpRequest в FireFox 3. Если это реализуют и другие производители браузеров (в первую очередь, конечно, самый большой из них), то жизнь разработчиков сильно облегчится. Суть этих предложений в том, что ничего менять в клиентском Ajax коде не придется. На сервере к возвращаемым ответам можно будет добавить новый заголовок Access-Control. Причем этот заголовок можно будет добавить как непосредственно к HTTP отклику, так и указать в возвращаемом XML документе:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Change this to allow="yourdomain.com" to make it accessible to your site, or allow="*" for ANYONE to be able to access it. -->
<?access-control allow="*"?>

в этом заголовке просто указываются домены, которым разрешено запрашивать документ.

Thursday, January 10, 2008

Cell ID

Возвращаясь к публикации о сервисе Google MyLocation. Один из вопросов во всех обсуждениях был о том, где Google берет информацию о базовых станциях GSM операторов. Именно на этой основе этих данных и вычисляются координаты мобильного терминала. Вот одно из возможных объяснений (плюс видео о том, как определяют базовые станции). Автор считает, что эта информация была собрана в процессе подготовки материалов для сервиса StreetView. Но вот в России вроде как пока еще нет StreetView. Или уже ездят?

Click to Mobile обновления

Вы спрашивали - мы сделали. Обновления на сервисе Click to Mobile. Сохраненные закладки можно теперь просматривать не только с WAP устройств (http://wap.linkstore.ru), но и с помощью PDA (http://pda.linkstore.ru). Ну и, естественно, возможность получения ссылки по SMS никуда не делась :). Теперь, кстати, Click to Mobile есть полнофункциональная система мобильных закладок.

Wednesday, January 09, 2008

Free SMS

Еще одна веб-форма для бесплатной отправки SMS. На этот раз от Gizmo - GizmoSMS. Работает по всему миру. До России (проверили на номере от Билайн) доходит. Хотя и неспешно :-)

Андроидальное

Хороший обзор платформы Google Android в блоге DeveloperLife. Изложенное в целом совпадает с нашими собственными впечатлениями от работы с Android SDK. Удобная среда разработки (под Eclipse), интересный набор API (WiFi, Camera etc.) и средств интеграции с веб-сервисами. Но странный (или, скорее, нестандартный) API для пользовательского интерфейса. И не сказал бы, что это сделано просто для разработчика. Также не самые ясные отношения между Services и IntentReceivers (в смысле времени жизни этих самых ресиверов). Зато в Java реализации от Google больше Java, чем в J2ME.
Но хотелось добавить еще один минус текущей реализации - собственно телефонного API (Call Control, например) - нет. И непонятно, будет или нет. Каких-то магистральных бумаг от Google с дальнейшими планами пока не видно.

Tuesday, January 08, 2008

Масштабируемость Comet

Мы уже писали про программирование Comet приложений. См., например, здесь. Теперь вот появились интересные цифры по масштабируемости Comet приложений. Релизация Dojo на сервере Jetty обеспечила поддержку 20 000 клиентов на достаточном скромном (то есть доступном) железе. И это, заметим, HTTP - не нужно переходить на флеш, чтобы обеспечить push-функциональность для такого количества клиентов. Jetty (и Comet) использует, например, Zimbra для своей почтовой платформы. Вот их довольно лестные отзывы о реализации Jetty.

А масштабируемость Jetty в Comet приложениях достигается за счет использования модели Continuation. В Comet HTTP все равно остается и push технически означает, что клиент периодически опрашивает сервер о наступлении новых событий. Простая реализация по типу один клиент - один процесс, очевидно, не является масштабируемой. В Jetty процессы, обслуживающие запросы клиентов в интервале между запросами возвращаются в общий пул и, следовательно, могут переиспользоваться другими клиентами.

Monday, January 07, 2008

Читалка

Сервис для озвучивания RSS фидов. Теперь блоги можно просто зачитывать. Автоматически готовит mp3 файл для заданных текстов. Что далее, совсем не сложно, превратить и в телефонный сервис. То есть вместо браузера - просто звонок для прослушивания блога. Все, естественно, базируется на доступности TTS для английского языка. Вот еще похожий пример

Wednesday, January 02, 2008

Местный контент

Интересная компания, облегчающая поиск контента с учетом физического расположения ищущего - loki.com. Продукт выглядит как toolbar для FireFox. Местоположение может определяться через WiFi сеть, по IP адресу или прямо указываться пользователем. После этого становится возможным, в частности, поиск информации с учетом расположения пользователя.

P.S. подобного рода продукты были бы естественным дополнением для Golden WiFi, например. Сейчас, когда у них авторизуешься, они показывают карту района, где находится пользователь. Осталось только научиться с этим работать.

P.P.S. ну и конечно GeoSms работает с локальными данными (странно было бы не упомянуть ;-)