Friday, July 31, 2009

Мобильные контакты - MShare

Вышла новая версия мобильного мэшапа MShare (предыдущие описания см., например, здесь). Это еще один сервис в продолжение темы об обмене контактной информацией. Ссылка на сервис:

http://mshare.linkstore.ru

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

В новой версии улучшена совместимость с различными моделями телефонов. В частности, iPhone теперь тоже поддерживается.

Скопировать мобильную ссылку http://mshare.linkstore.ru на свой телефон можно с помощью приведенного QR-кода.

Google + Twitter

Обновлен поисковый мэшап Got: Google + Twitter

Открытые облака

Хостинг RackSpace открыл код для своего Cloud Servers API. Программный интерфейс для добавления и конфигурирования серверов непосредственно из своих приложений. Хоть из JavaScript - поддерживаются, в том числе, и JSON интерфейсы.

Thursday, July 30, 2009

Mobile widgets

Еще один конкурс по разработке приложений от Vodafone. Оператор упорно продвигает мобильный интернет.

Еще о поиске в Twitter

Семантический поиск в Twitter TweetSieve. Частотный анализ появления поисковых образов с целью выявить моменты наступления событий. Вот здесь есть объяснение. На первый взгляд выглядело интересно, но де-факто мало отличается от трендов, которые сам Twitter считает (и для которых есть API, между прочим). Это пост-фактум анализ, и может подходить максимум как проверка гипотез. Определения в реальном времени (а это то, для чего Twitter и нужен - нет).

А сама тема, конечно, очень интересная. Мы планируем показать некоторые новые мэшапы из этой области. Вот то, что сейчас есть в Local Twitter, когда показывается облако тем, о которых пишут в конкретной области есть первый шаг. А что если сравнить локальные записи с остальными? "Разница" и есть некоторый показатель локальных трендов. А события нужно определять, мы уверены, именно локально. Глобально - все знают поисковики типа Google. Интересны именно локальные всплески интереса.

Wednesday, July 29, 2009

Отказ от MySQL

Точнее даже - отказ от реляционной модели. Весьма популярная тема, о которой пишут все чаще и чаще. Вот конкретный пример перехода с MySQL на MongoDB.

Идентификация в Tomcat

foaf+ssl - протокол аутентификации, который не требует от пользователя вводить имя/пароль на сайте. Поддерживается всеми современными браузерами. В этой статье описывается как включить этот протокол для Tomcat 6

Tuesday, July 28, 2009

MIME type

Простой и полезный сервис - получить mime type для заданного файла

Мобилизатор для URL

Интересная идея - сокращение ссылок с учетом удобства набора на мобильном телефоне. Используются только первые символы, доступные на телефонных кнопках. До некоторой степени замена QR коду, между прочим.

Monday, July 27, 2009

Sony Ericsson shop

Sony Ericsson открыл свой App Store. Принимаются Java ME и Symbian приложения. Что приятно - нет никакого вступительного взноса и платы за участие. Автору выплачивается 70% дохода.

vCard

Простой способ описать контактную информацию непосредственно в JSP файле: vCard taglib. Кстати, Coldtags suite, откуда взята эта библиотека, дорос до версии 3.75. Самая большая в сети библиотека пользовательских тегов для JSP насчитывает теперь 375+ веб-компонент.

Saturday, July 25, 2009

Об автоматизации

Интересный сервис - SpinVox. Позволяет автоматически переводить голосовые сообщения в SMS. А вот как он реально работает :)
Интересно, ведь у них существует API. Сервис Audioboo, например, работает через него. И что, на другом конце REST API тоже люди сидят?

Friday, July 24, 2009

Twitter search widget





Работает? Пробуем twitter search widget - на этот раз от самого Twitter
До этого мы использовали многократно виджет от TweetGrid - см. например, GTV или Московский Twitter

А еще интересен сам сайт, на котором расположен widget - http://widgets.twimg.com/
Если просто запросить сайт, то выдается любопытный XML:

<ListBucketResult>
<Name>twitter-widgets</Name>
<Prefix/>
<Marker/>
<MaxKeys>1000</MaxKeys>
<IsTruncated>false</IsTruncated>

<Contents>
<Key>j/1/default.gif</Key>
<LastModified>2009-07-23T22:48:17.000Z</LastModified>
<ETag>"df3e567d6f16d040326c7a0ea29a4f41"</ETag>
<Size>43</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>

...


видимо, это только первый виджет показан ...

Nokia Services

Web API для доступа к возможностям телефона от Nokia (камера, позиционирование, сообщения и т.д.) - все из JavaScript. Пока работает на Nokia 5800 XpressMusic и Nokia N97.

Thursday, July 23, 2009

Кэширование в Twitter

Интересная презентация по истории применения кэширования в Twitter. Любопытно, что есть два уровня кэширования - для веб и для API запросов (80% трафика - это запросы через API - поучительная цифра для разработчиков социальных сетей).
Также используется своя реализация Message Queue на основе протокола memcached. В среднем, каждый пользователь Twitter имеет 126 фолловеров, то есть на каждый твит строится, по крайней мере, такая очередь.

Wednesday, July 22, 2009

О стандартах кэширования

По HTTP канонам user-agent не должен кэшировать URL, если там есть query string (то есть попросту часть URL после знака ?). В последнем firefox посмотреть содержимое кэша очень просто - можно набрать в строке статуса about:cache И что, например, видно:

Key: http://www.reddit.com/button.js?t=2
Data size: 371 bytes
Fetch count: 1
Last modified: 2009-07-22 14:51:00
Expires: 1970-01-01 03:00:00

Кстати, с другими браузерами картина не лучше - благополучно кэшируют все подряд.

Twitter search на практике

Практическая работа с Twitter Search API (PHP + JQuery). Другой пример (pure JavaScript) можно посмотреть здесь - Google blogs + Twitter

Monday, July 20, 2009

Не угадали

Реклама деловой газеты Ведомости. С кондиционерами они не угадали ...
Найдено в Местном Твиттере

Sunday, July 19, 2009

Proxy server

Кэширующий прокси-сервер от Yahoo: TrafficServer. Это продукт, который был приобретен с Inktomi. 35 000 RPS на одном сервере.

Saturday, July 18, 2009

Теперь вы это можете

Пошаговое руководство по подделке веб-сайтов :-)

1. Откройте любой сайт: http://то-что-нужно.com
2. Введите в поле location браузера следующий текст (просто copy/paste):

javascript:document.body.contentEditable='true'; document.designMode='on'; void 0

и нажмите Enter. Теперь сайт можно редактировать! Напишите то, что хочется

3. Введите в поле location браузера следующий текст (просто copy/paste):

javascript:document.body.contentEditable='false'; document.designMode='off'; void 0

и жмакните Enter. Редакции сохранены :-)

4. Введите в поле location браузера исходный URL. Не нажимайте Enter!

Сделайте скриншот экрана и опубликуйте как доказательство. 1 апреля в любой день, без фотошопа.

отсюда

Friday, July 17, 2009

Thursday, July 16, 2009

Мобильный портал


Обновлен мобильный портал http://m.linkstore.ru. Новые ресурсы.

Скопировать ссылку на свой телефон можно с помощью приведенного QR-кода.

Wednesday, July 15, 2009

Tuesday, July 14, 2009

Услышано на BBC

Open source JavaScript пакет от BBC - Glow. Очень интересно. Похоже на jQuery, но выглядит проще. Есть большой набор виджетов. Так что воспроизвести сайт BBC (в клиентской части) - стало проще :)

P.S. интересно работают правильные медиа-дома. Вести так не могут ? Последнее что я слышал (читал) с той стороны - это была какая-то излишне рьяная пропаганда MS технологий (Silverlight)

Monday, July 13, 2009

Real time data от Google

Реализация publish/subscribe протокола protocol в виде расширения для Atom.

Идея очень простая - типичная обработка Atom feed (как и RSS) состоит в последовательном запросе файла с данными для поиска обновлений. Теперь же предлагается запросить Atom feed только один раз, после чего зарегистрировать собственный callback, который получит вызов как только в исходном источнике данных появились обновления.

Реализация (Open Source) есть здесь.

А поддержка фидов данных с такими возможностями включена в Feedburner.

Data mining

Выпущена новая версия Open Source пакета Java Data Mining

Другие публикации см. здесь

Saturday, July 11, 2009

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

Практическое руководство по анализу производительности веб-приложения средствами Firebug.

Аннотированные ссылки

Обновлен мэшап Анннотированные ссылки. Упаковывает в короткую ссылку собственно URL (или список ссылок) и ваш комментарий к ней. Ссылкой можно поделиться по email или twitter. Так что это можно рассматривать и как еще один способ поделиться ссылкой в Twitter.

Friday, July 10, 2009

Хлеб наш насущный

Кризисный мэшап - картинки о еде. Что едят другие пользователи Twitter. Живой поток картинок о завтраках, обедах и ужинах по всему миру.
Если будет совсем плохо, то можно будет хотя бы фото посмотреть. В некотором роде, книга о вкусной и здоровой пище 2.0 (бета, как обычно)

Мой мобильник в деталях

Интересный продукт - reverse engineering для приложения MobileMe от Apple, которое, в частности, позволяет узнать координаты произвольного iPhone. Сервис сам по себе работает только с сайтом Apple, стороннего API нет, вот автор и задался целью по обмену данными восстановить сам протокол.
Интересно тем, кто будет делать (делает) подобные сервисы - обмен позиционными данными между телефоном и сервером. Можно изучить, как это делает Apple. Лицензия - open source, тексты приложения (и детали протокола, соответственно) есть здесь

Thursday, July 09, 2009

Не Андроид ты мне

А вот интересно, объявление Google Chrome OS - что, похоронит Андроид? До этого вроде как Андроид был кандидатом на роль операционной системы для нетбуков. Теперь же прямо написано: "Google Chrome OS is an open source, lightweight operating system that will initially be targeted at netbooks.". То есть продукты Google начали поедать сами себя.
А так ведь Chrome больше разработчиков сразу навербует - не нужно новый API изучать. Как и говорилось на Google IO - веб разработки приоритетнее сервисов для конкретных устройств

Монторинг энергопотребления

Токовые трансформаторы + Arduino - готовое устройство для измерения и отображения в сети энергопотребления домохозяйства. Весьма актуальная тема, между прочим.

Twitter use cases

Как и для чего можно использовать Twitter:

1. Городские новости - Breaking news. Это, между прочим, к вопросу как выглядят современные медиа.

Кстати, вот русскоязычные мэшапы из этой же серии: Москва, Санкт-Петербург, еще одна Москва

2. @ibmscout - так выглядела трансляция Уимблдона в исполнении IBM.

Интересно в этой связи - вот спортивные сайты в России ведут, например, текстовые трансляции футбольных матчей премьер-лиги. Кто первый начнет в Twitter дублировать?

Wednesday, July 08, 2009

Желтые заметки

Еще один вариант кнопки Share this для ваших сайтов. Мэшап Yellow pages позволяет посетителям сайта послать (email, twitter) своим друзьям ссылку на сайт вместе со своими комметариями. Комментарий, оформленный в виде post-it и собственно ссылка упаковываются в один короткий URL (используется сервис tinyurl).

Для использования регистрация не требуется. Достаточно просто добавить ссылку на внешний JavaScript файл. Детали - на Желтых страницах.

P.S. а снабдить своими комментариями произвольный сайт, где владелец не устанавливал никаких кнопок можно здесь

Все может быть

Сегодняшнее автоматическое сообщение от сервиса одного оператора связи:

"К сожалению, посланное Вами абоненту ... сообщение, доставить не удалось.
Причина неизвеcтна, поскольку центр потерял статус доставки. Вполне возможно, что сообщение все же доставлено."

P.S. Справедливости ради нужно отметить, что сервис потерял все, кроме чести, и сообщение таки было доставлено

Мобильный поиск от Bing

На мобильном портале http://m.linkstore.ru попробовали поиск от Микрософт. Само программирование с использованием API очень простое - получить ссылки в JSON и все. Вот фрагмент кода:

$offset = $_GET['offset'];
$request = 'http://api.search.live.net/json.aspx?Appid=' . $APPID
. '&MobileWeb.Offset=' . $offset
. '&sources=MobileWeb&query='
. urlencode( $_GET["searchBox"]);
$response = curl_get_contents($request);

$jsonobj = json_decode($response);
$count = $jsonobj->SearchResponse->MobileWeb->Total;
...


ключ MobileWeb и определяет выдачу мобильных результатов.

P.S. а что до очистки выдачи от "сомнительных" :-) сайтов - здесь, конечно, MS еще дошел. Ежели яндекс что не показывает - ищите в бинге :-)

Open source web development

Портал от mozilla - Open Source web development tools

Tuesday, July 07, 2009

Они работают вместе

Вы уже заказали зеленый дизель-генератор? А теперь та же команда предлагает еще и легендарные UPS Ж-).

P.S. ну а сумку для ноутбука там можно получить просто задаром. Google поможет.

Главный по коммерции

Вот этот сайт, возможно, будет главным телекоммуникационным рынком мира: http://www.mmarket.com/.
Это вроде бы application store от China Mobile со всеми ее 490 млн. абонентов ...

Картинки из Twitter

Обновлен мэшар Photo from Twitter - фотографии, опубликованные в Twitter в реальном времени.

Monday, July 06, 2009

Google Maps Mania - 21

Появились новые записи и пришло время выпустить очередное обновление для списка проектов (систем), выполненных на базе Google Maps. Уже 21-е по счету.
Как обычно, символом * отмечены новые поступления со времени публикации предыдущей версии списка. Историю вопроса можно изучить здесь.
Ну а последняя версия доступна на странице Google Maps Mania.RU

iPhone web development

Полезные ресурсы по разработке веб-приложений для iPhone:

10 tips for iPhone developers
iPhone design

Sunday, July 05, 2009

И снова - здравствуйте

Или - кажинный раз на том же самом месте. С рассылкой школьного Linux опять беда

Новые метрокарты

Новые карты из мэшапа MetroMap:

Почти даром (ЖЖ журнал po4ti_darom)

Другие примеры использования см. здесь

Безграничный Ajax

Firefox 3.5 помимо всего прочего, поддерживает еще и cross domain Ajax. То есть код, загруженный с домена domain1.com может выполнить асинхронный запрос к domain2.com, что было раньше запрещено (same origin policy). Согласно спецификации, появился новый заголовок:

Access-Control-Allow-Origin: *

которым сервер уведомляет клиента о готовности принять такой запрос. Вместо * может стоять некоторое имя - тогда запросы будут разрешены только из указанного домена.

Для Java веб-приложений можно использовать следующую компоненту из JSOS - Cross domain Ajax filter. Автоматически добавляет нужный заголовок к указанным ресурсам.

Saturday, July 04, 2009

Mobile twitter

Dabr - Open source (PHP) mobile web client for Twitter

Досуг и развлечения

Зоопарк "Абаканский" (г.Абакан, ул.Пушкина,196, тел.: 24-57-64)

Зоопарк "Абаканский" организован в 1975 году как цех на предприятии Мясокомбината "Абаканский".

Отсюда

Shared sessions

Техническая информация: как организовать разделяемые сессии на Tomcat. Полезно для сайтов типа linkstore.ru, которые реально поддерживают много приложений.

Friday, July 03, 2009

Погодные данные

Замечательный сайт yr.no предоставляет прогноз погоды по всему миру. Включая Россию, между прочим - см. Прогноз погоды в России.

И что особенно интересно, данные можно получить и в XML формате, что позволяет переиспользовать их в собственных мэшапах. Вот примеры:

http://www.yr.no/place/Russia/Bryansk/Bryansk/ собственно прогноз погоды в Брянске
http://www.yr.no/place/Russia/Bryansk/Bryansk/forecast.xml - то же самое, но в XML

Информация предоставляется бесплатно, требуется только обратная ссылка на сам сервис. В JSP (или Coldfusion) представленную информацию можно обрабатывать с помощью Weather taglib из Coldtags suite.

А примером использования является, например, погодный сервис в Twitter

Мобильный портал


Обновлен мобильный портал http://m.linkstore.ru. Для разработчиков мобильных приложений - в разделе сервисы можно оценить скорость своего соединения, а также посмотреть, какие заголовки будет видеть веб-сервер при обращении с вашего мобильного телефона. Интересно будет проследить, когда браузеры начнут передавать информацию о географических координатах. Пользователи iPhone должны по идее видеть заголовок Geo position. Также обновлен прогноз погоды.

Скопировать ссылку на свой телефон можно с помощью приведенного QR-кода.

Технически использовалась готовая компонента из JSOS - WAP headers.

Thursday, July 02, 2009

IE8 и Google Maps

При проблемах с отображением карт в IE8 попробуйте добавить следующий заголовок к HTML:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

Может помочь. Найдено в группах Google (после долгих поисков чтобы это могло быть, и почему это так), объяснение работы тега есть здесь.

Тег говорит о необходимости эмулирования IE7. Четные версии браузеров у MS, видимо, не удаются :-)

Поиск в реальном времени

Интересное описание проблем и решений для весьма актуальной на сегодня темы - real time search. PulseRank - новый измеритель

Wednesday, July 01, 2009

Погода в Twitter

Еще одна демонстрация работы генератора ботов Twitter 411. На этот раз - запрос прогноза погоды в Twitter. По аналогии с описанным здесь сервисом для фондового рынка был сделан простой бот, который возвращает прогноз погоды в указанном городе. Использование стандартное:

1) follow to @t411
2) пошлите пользователю @t411 сообщение (direct message) вида:

  w город_для_запроса

  Например: w msk

Метеоролог подумает и вернет (также как direct message) ссылку на мобильный сайт с прогнозом (то есть посмотреть прогноз можно непосредственно на мобильном телефоне).

Запросы, которые понимает метеоролог:

w msk - погода в Москве
w spb - погода в Санкт-Петербурге
w klintsy - погода в г. Клинцы Брянской области

w london - погода в Лондоне
w paris - погода в Париже

Кстати, полученную ссылку на мобильную страницу можно запомнить в закладках мобильного браузера и дальше уже справляться о погоде "по старинке" :-) Данные прогноза периодически обновляются.

А здесь можно посмотреть другие публикации по теме использования Twitter как транспорта для информационных систем.

Контактная информация

В продолжение темы обмена контактами. Контактная информация в форме, обеспечивающей ее непосредственное копирование в адресную книгу мобильного телефона может быть представлена на веб-странице с помощью простой JavaScript компоненты (MECARD widget). Например:

<script language="JavaScript">
 var qr_shareName = 'Abava';
 var qr_shareEmail = 'info@servletsuite.com';
 var qr_shareURL = 'http://abava.blogspot.com';
</script>

<script type="text/javascript" src="http://www.servletsuite.com/qr-address.js"></script>


Результат работы:

Abava contact

Этот QR-код может быть сканирован непосредственно с вашего сайта (блога) для занесения контактов в адресную книгу. Всего один клик вместо ручного ввода.

Производительность в Tomcat

Малоизвестные, но полезные трюки по настройке производительности в Tomcat. Некоторые уже использовали в нашем хостинге мэшапов Linkstore. Реально полезно - оптимизация логгинга, например.

Другие материалы по Tomcat см. здесь