В комментариях к моему "About'у" Денис Зайцев дал ссылочку на сервис централизованного хранилища персональных данных - COPi.ru.
И у меня возникла идея, как этот сервис можно отлично улучшить.
Сразу скажу, что лично мне этот сервис не подойдет. Уже просто потому, что мне больше нравится, когда свои данные я храню на своем сервере. Просто вот такой бзик :-). Хотя глобально технически это может быть и хуже, и лучше в разных ситуациях.
Что мне действительно не подходит - это то, что я не могу написать там только свой собственный свободный текст, в своем дизайне, да еще и с каким-нибудь прикольным скриптом, который будет периодически случайно менять мою фотографию :-).
Но не у всех сетян есть свое постоянное место в сети, многие просто "живут" по форумам и мысль о содержании какой-нибудь своей странички навевает на них скуку. Для них такой сервис - отличная штука. Постоянное место с коротким URL'ом, где можно все про себя написать.
Но у меня, как поборника веб-стандартов и законченного зануды, конечно не могло не появиться критики :-).
Проблема в том, что эта интернет-визитка не машиночитаемая, только человекочитамая. Это важно. Например это значит, что вы можете оставить в форуме только ссылку на свою интернет-визитку, и читатели форума должны будут на нее кликнуть, чтобы увидеть. Было бы удобней, если бы форумный движок сам мог выдрать из вашей визитки нужные данные (ФИО, дата рождения, профессия) и подставлять к вашему нику. Для этого формат должен быть машиночитаемым.
Вообще-то, прочитать визитку COPi можно, но только в формате VCF. Но VCF - старый очень формат, который не очень удобно парсить, и самое главное, в нем не предусмотрена такая штука, как кодировки. А это значит, что работать это будет только там, где администрация форума считает windows-1251 дефолтной кодировкой. А таких мест становится неуклонно меньше, и хорошо.
Несмотря на то, что моя страничка About имеет свой дизайн, вписана в структуру сайта, и написано скорее для людей, она машиночитаема. Внутри она размечена форматом hCard и полностью содержит все, что нужно для выборки из нее информации. Например, я пишу:
Родился 13 февраля 1978 года
... а в коде это выглядит так:
Родился <abbr class="bday" title="1978-02-13">13 февраля 1978 года</abbr>
Класс "bday" показывает, что это день рождения, а "title" содержит дату в формате ISO - все это регламентировано в hCard. Это означает, что одна и та же страница может использоваться и как машиночитаемая, и как человекочитаемая.
Есть отличная идея, чтобы COPi.ru добавили hCard-разметку к своим визиткам. Возможно, они уже и сами думали над тем, как сделать эту штуку машиночитаемой, так вот hCard - идеальный вариант, потому что это уже довольно устоявшийся известный стандарт.
Реализовав эту штуку можно тут же получить поддержку в среде гиков, которым очень нравятся эти модные фенечки. Потом это все обрастет всяческими интересными тулзами, о которых сейчас никто и не помышляет. И COPi.ru станет одним из первопроходцев Web 2.0 в России :-)
И кроме того, это не должно быть трудно, хотя это, конечно, сильно зависит от внутреннего устройства их системы. Обычно самое "сложное" - это сделать из HTML'а XHTML. Причем, можно даже не валидный, а просто well-formed. То есть, если совсем по пунктам:
<img ... > и <br> нужно перевести в XML'ный вид cо слешем: <img ... /> и <br/>Это можно даже делать автоматически с помощью тулзы HTML Tidy. Ну и дальше добавить классы и title'ы к нужным элементам. И все :-).
Чтобы появилась реальная выгода от использования машиночитаемого формата, одной поддержки со стороны COPi.ru недостаточно. Это типичная проблема "яйца и курицы": никому не интересно структурировать информацию, если этим никто не будет пользоваться, и никому не интересно писать сервисы, если нигде нет структурированной информации. Чтобы ее разрешить, кто-то должен быть первым. Отсюда и исходит мое предложение к COPi.ru, потому что информации у них уже много, а структурировать ее может быть достаточно просто.
Но дальше должен быть следующий шаг - появление сервисов. Нужно, чтобы программисты (это не кто-то, это вы, ребят, моя основная аудитория из веб-гиков) написали плагинчики к PhpBB, PunBB, VBulletin, Wordpress, Movable Type, Livejournal, позволяющие людям подписываться ссылками на свой hCard. То есть, в профиле форума будет висеть текстовое поле, куда человек напишет URL (на COPi.ru или свой собственный) и форум сам узнает, как его зовут и какой у него ник (поле nickname в hCard тоже есть).
По идее, это тоже не должно быть трудно. Брайан Суда переводит hCard в vCard вообще одним XSLT-файлом!
А дальше уже мы (опять веб-гики) разнесем эту весточку по миру.
Меня тут справедливо спросят, а что сам-то? Вынужден признать, что обременен самой стандартной отмазкой: слишком много проектов и слишком мало времени. Да и с PHP я знаком не особенно близко... Подхачить чужой код - это одно, а писать свой - совсем другое.
Комментарии: 8
15.09.05 04:06
btw, люди наоборот часто стараются скрыть реальное имя и прочие данные (мыло, аську и т.п.) да и ники в разных форумах и блогах часто разные. Надо это или нет, время покажет ессно.
15.09.05 08:33
Ну, никто же не мешает написать Руслану Курепину эти предложения
15.09.05 11:54
Я написал, конечно. Но статья все равно полезна. Вдруг я "придумал" что-то, что давно уже есть, меня и просветят :-)
15.09.05 15:35
Парсить vCard действительно не подарок (если нету правильной библиотеки для этого - Ruby в этом смысле повезло потому что есть vPim). Но он очень хорошо сопрягается с другими приложениями - например из-за нестандартного поля в vCard которые генерит AddressBook в MacOS X я могу в своем приложении обеспечить что-то вроде синхронизации карточек.
Я лично за то чтобы поддерживать все форматы, чем больше возможностей тем лучше. Кстати, стандартным "обменным" чарсетом для vCard является UTF-16 (о чем можно было бы и почитать). Который вполне себе работает :-) hCard же пока "маловат", но обрабатывать его легче - следовательно делаются просто модульные экспортеры и импортеры. Как минимум три - CSV, vCard и hCard.
Что же касается PHP - импортер vCard есть в Horde, уверен что его можно оттуда выдрать. А для рельсистов есть vPim (очень приличный).
16.09.05 02:54
С кодировкой все интересней :-). Я почитал внимательней RFCшку VCard. UTF-16 я там не нашел, зато нашел, что сам был в корне не прав относительно отсутствия там указания кодировки. Она там есть, точнее была:
То есть, советуют указывать кодировку за пределами самого файла, ну да и бог с ним. Главное, есть. Правда, тот самый сервис Брайна Суды, который генерит VCard, это не использует, поэтому кодировку действительно нельзя угадать.
И еще насчет того, что hCard "маловат", непонятно. Он ведь по функциональности полностью повторяет VCard, просто синтаксис в XHTML вписан, вот и все...
18.09.05 12:55
[...] Интересную идею удалось обнаружить в блоге Ивана Сагалаева – очень хотелось бы заглянуть в будущее и выяснить, реализована она или нет? Лично мне хотелось бы ее реализации… [...]
18.09.05 20:41
Теперь вспоминаем про OpenID и иже с ним и, наконец, формулируем словами базовую идею: у человека есть персональный УРЛ, который он может скормить любой системе и эта система пойдёт по нему и найдёт там всё, что ей надо.
Воткстати, раз уж Вы всё равно требуете e-mail с комментаторов, то почему бы не давать им возможность получать на него ответы?
5.05.07 23:22
по ссылке http://ptath.ru/2005/07/03/utf-8-i-kostnoe-myishlenie/ (и хорошо) уже нет материала.