Friday, February 29, 2008

Лица для ссылок

Еще один эксперимент вокруг Google Social API. Если, как указывалось в исходной публикации Фитцпатрика URL's are people too, то легко сделать следующий шаг - для каждой ссылки подобрать картинку с автором. На этом и базируется довольно остроумный виджет от Coldbeans - URL's are faces too. С его помощью можно придать более "человеческий" вид просматриваемой странице. Для каждой ссылки на странице ищутся с помощью API от Google другие ресурсы того же автора. И если среди ресурсов присутствует Twitter, то на исходной странице выводится userpic автора. Можно легко сделать подобное и для Livejournal, например.

Сам пример - здесь

Не мастер

Не знаю с чем связаны очередные проблемы в мастерхосте: с теплоотводом, с кривыми руками или просто карма такая, но беды с почтовым сервисом уже начали напрягать. IMAP упорно сбрасывает соединения. Просто сбрасывает и сбрасывает. Так что не мастер и даже ни разу не хост :(

Thursday, February 28, 2008

Static Google Maps

Google добавил интересную опцию к своему Maps API - статические карты. Основная идея - избавиться от JavaScript при генерации (загрузке) карты со стороннего источника. Теперь в качестве ссылки на карту может быть использован простой img таг. Что, естественно, облегчает использование карт на таких сервисах как Livejournal, где JavaScript не любят, а равно как открывает много возможностей использования карт в мобильных сервисах

Wednesday, February 27, 2008

Тонкий сервер

Хорошая презентация по архитектуре тонкого сервера. Идея подобного подхода прозрачна. Если тонкий клиент разгружал клиентское приложение, перенося обработку на сервер, то здесь с точностью до наоборот - вынос обработки на сторону клиента. Не только GUI, что делают Adobe и другие, а именно логики. При этом мы все равно остаемся в рамках веб-приложения. Соответственно, одна из основных проблем в разработке "толстых" клиентов - как заставить пользователя загрузить и обновить приложение, когда что-то в логике поменялось, здесь не существует. Обработчик автоматически загружается в браузер клиента, когда он заходит на веб-страницу. Цель вполне очевидна - разгрузить сервер, сделать приложение более масштабируемым.

На самом деле уж совсем новым такой подход не является. Любое использование JSON - это в некотором роде также тонкий сервер - обработка данных ведь будет осуществляться на стороне клиента, в его JavaScript коде. Здесь просто собраны воедино архитектурные принципы:

- все, что может делаться на стороне клиента - должно делаться там
- все взаимодействие с сервером - REST
- код для клиента не должен создаваться на сервере. Современный пример: условие в JSP/PHP/ASP коде, в зависимости от которого выводится некоторый HTML (WAP) код. То есть на сервере решается, что увидет клиент. Так быть не должно :). Это условие долно проверяться (и отрабатываться) на стороне клиента.
- за сервером остается только следующий функционал:
a) безопасность
б) бизнес-логика
в) проксирование запросов к другим ресурсам

Tuesday, February 26, 2008

Metro Map - недвижимость

Пример использования сервиса MetroMap: продажа квартир - московская недвижимость на карте Google Maps. Источник данных: realty.subscribe.ru via Dan Rastor.

Adobe Open Source

Adobe представила портал по своим Open Source приложениям. Медиа-сервера там, конечно, нет, его open source аналог RED5 существует отдельно, но есть вполне симпатичные компоненты. Например, BlazeDS - push-сервер для Flex приложений или видео-плеер с поддержкой Ajax. Лицензия - LGPL, то есть вполне можно использовать эти компоненты и в коммерческих приложениях.

Saturday, February 23, 2008

Java нет?

Ничто на Земле не проходит бесследно. Невнятная политика развития Java, мертвый JSF, долгие дебаты вокруг JPA, войны Spring vs. EJB, бесконечное количество веб фреймворков и прочие игры в стиле "чем сложнее, тем радостнее", привели к тому что, что есть: платформа .NET начала обгонять Java в корпоративной среде. Данные по количеству вакансий (что часто используют в качестве критерия сравнения популярности платформ) пока этого не подтверждают, но тренд очевиден. И если политика развития системы не изменится, то это точно станет реальностью.

Friday, February 22, 2008

I will be back

SCO после всех приключений вроде бы спаслась от беды. Интересно, они снова начнут судиться? Деньги в компанию вложили неназванные инвесторы с Ближнего Востока (!).

Абавазрение 22.02.2008

Несколько интересных Open Source источников:

1. 50 Open Source VOIP приложений - отсюда

2. Пошаговая инструкция по созданию FireFox add-on - отсюда

3. Реализация Bluetooth для Java - здесь. Очень интересный код. Действительно, была странная ситуация - для J2ME поддержка Bluetooth была, а все остальные Джавы были как бы вне игры. Теперь можно использовать этот стек. Лицензия LGPL, так что это можно использовать и в коммерческих приложениях.

4. Распознавание штрих-кодов (включая 2D) - отсюда. Это хорошая база, например, для всех проектов, связанных с мобильными купонами etc. Здесь есть реализации и для J2ME и даже для Android.

5. Music mashups - программные интерфейсы для доступа к музыкальным сайтам. Это, между прочим, еще один (и пока недоиспользуемый) источник контента для мобильных абонентов. Такого рода контент (полученный с использованием подобного рода API) вполне может быть использован описанными ранее мобильными закладками.

Thursday, February 21, 2008

MetroMap beta 1

Новый mashup editor для Google Maps: MetroMap. Идея очень проста - поддержать автоматический геокодинг для существующих данных. Или, иными словами, автоматически публиковать на карте уже существующие данные. Или, что есть то же самое, обеспечить простой способ добавления картографического интерфейса для уже существующих данных.
В качестве основы для геокодинга выбрана привязка к станции метро (для Москвы в текущей версии). Идея в том, что во многих публикациях (объявлениях, публикациях в блогах и т.п.) упоминается ближайшая станция метро (типа метро Павелецкая, ст.м. Динамо). Следовательно, если мы получим такие данные в некотром стандартном формате, то можно будет выделить станции из текста и провести на этой основе геокодинг - то есть привязать тексты к географическим координатам. Что, собственно говоря, и делается в MetroMap. В качестве стандартного формата был выбран RSS.
Если для публикации данных вы используете какую-то блог-платформу, то там уже есть поддержка RSS. Эту поддержку несложно добавить для своей базы данных. Для каких-то закрытых систем можно воспользоваться системами типа Dapper. Один из примеров на сайте как раз и использует RSS feed построенный с помощью Dapper по публикациям на сайте Из рук в руки. Этот фид представляет собой, на самом деле, сторонний сервис. Так что здесь уже получается mashup для mashup-а.
В итоге данные из произвольного фида (фидов) будут представлены в виде точек на карте. Одновременно вы получаете ссылку для публикации (использования) такой карты на своей (строннем) сайте (блоге, сервисе). Сыылки из опубликованных POI (points of interests) ведут непосредственно к вашим данным (так, как это было указано в RSS). То есть то, что получается в итоге, есть просто картографический интерфейс к вашим собственным данным.

Wednesday, February 20, 2008

Лауреат

Феерическая история. Программист открыл новый текстовый файл, написал там дословно: "Эта программа ничего не делает", сохранил файл и переименовал (!) его в .exe После чего разослал этот "exe" файл по разным shareware - сообществам и стал считать, сколько же его программа соберет наград. И ведь собрала! 23 награды у программы, которая даже не может быть запущена :-) Приложение попадало на первые страницы в reddit, digg, slashdot. Неоднократно упоминалась в обзорах, написанных разными "журналистами". А если бы еще кто-то занялся "продвижением" программы - страшно подумать что было бы :-)

Tuesday, February 19, 2008

Полный дигг

Yahoo анонсировало запуск собственного сервиса a-la Digg. Причем интересна и модель продвижения - публикации будут приниматься от тех, кто использует у себя на сайте аналог Google Adsense от Yahoo.

В этой связи - еще одна интересная модель: 73git.com. Идея здесь заключается в следующем. Сервис мониторит новые статьи в digg, del.icio.us и т.д. И, используя имеющиеся там API, автоматически выделяет те публикации, которые привлекли внимание посетителей соответствующих сервисов. Именно такие лидеры и попадают на сайт агрегатора - одна новая статья каждые 10 минут.

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

Metro Map mashup editor

Early access: MetroMap. Новый Google Maps mashup (точнее даже - конструктор мэшапов). Выполняет автоматический геокодинг пользовательских данных, основываясь на информации о ближайшей станции метро.

Sunday, February 17, 2008

Killing application

В поисках приложения "всех времен и народов" для мобильных пользователей: Google отмечает, что пользователи iPhone посылают в 50 раз больше поисковых запросов к Google, чем все остальные мобильные пользователи. Это настолько шокировало Google, что результаты статистики несколько раз перепроверяли, прежде чем обнародовать. Если так пойдет (а на горизонте уже Android с его интернет доступом), то мобильный поиск превзойдет обращения с десктопов очень быстро.

Friday, February 15, 2008

Не ПиПи

Вот что открылось из чтения документации по новой версии Android SDK: "GTalk API is not XMPP compliant, and will be less so going forward. The reason is that XMPP is too verbose and inefficient for mobile network connection, and the GTalk API will be moving to a binary encoding for the protocol between the client and the server. There will also be mobile specific protocols added."
То есть GTalk, который использовался как практически главный аргумент в агитации за XMPP, на самом деле не является XMPP совместимым. А все, что еще пока есть совместимого - оно временно. И XMPP совсем не так хорош. Ибо передачу XML по каналам связи 2(2.5,3)G сети - не тянут.

Thursday, February 14, 2008

На мобильник

Газета Ведомости описывает сервис доставки файлов с компьютера на мобильный телефон Beam-it-up. В его основе лежит доставка мобильному пользователю SMS со ссылкой на расположение файла.
Этот сервис еще один пример того, что поддерживается в Click to Mobile. Осталось только сделать последний шаг - не выгружать файл, а брать его оттуда, где он и располагается в сети. Идеи живут, как мы и писали ...

new Android SDK

Как мы и предсказывали. Google выпустил новую версию SDK для Android: m5-rc14
Пока из наиболее интересного в новой версии обнаружили следующее:
- обновленный плагин для Eclipse
- поддержка нескольких устройств в эмуляторе. Это реально нужно, чтобы тестировать передачу данных между устройствами
- новый UI, естественно, и новые контролы. Дерево, например, а также несколько новых типов меню
- geocoding

ZDNET насчитал, вообще говоря, 31% изменений. А такая ремарка (в программной документации!) про getDataFilePath() вообще песня:

DO NOT USE THIS FUNCTION!! Someone added this, and they shouldn’t have. You do not have direct access to files inside of a content provider. Don’t touch this. Go away.

Абавазрение 14.02.2008

Некоторые интересные ссылки и продукты:

Амбициозный проект LBS приложения для Android: http://code.google.com/p/androidlocation/. Авторы реально собрались "закрыть" тему.

Хороший обзор бесплатных продуктов: 50 коммерческих приложений и их бесплатные альтернативы. Учебные заведения, по хорошему, должны брать все здесь. Еще один похожий ресурс - Osalt

Coldbeans выпустил новую версию своего набора компонент для Java web-приложений. JSOS ver. 5.70 включает 115+ сервлетов и фильтров для JEE приложений.

Новости проектов: технические обновления на сервисе Голос ЖЖ. Публикуйте сообщения в своем ЖЖ голосом.