Главная

GSoC 2011: Services Server и Contacts API

Перевод статьи, написанной студентом Дарио Касалиново (Dario Casalinuovo) в качестве предисловия к его работе в рамках проекта GSoC 2011.

Прежде чем я начну, позвольте представиться. Меня зовут Дарио, мне 20 лет, в настоящее время я живу в Италии.
Я студент Римского университета Ла Сапиенца.

В отличие от большинства студентов, в Haiku я не новичок и уже внес некоторый вклад в ее сообщество. Возможно, вы помните меня по работе над Caya (плагин MSN). Не случайно мой проект в рамках GSoC имеет некоторое отношение к этой программе (да и ко всем подобным программам).

Фундаментальной концепцией моей работы является предоставление базового набора классов, нацеленных на интеграцию контактов в систему.
Главная идея всего проекта достаточно проста: API должен быть легко расширяем.

Изначально я планировал создать API только программы People и ее файлов Person. Разработчики, имеющие более широкий взгляд на систему в целом, внесли рад очень полезных рекомендаций. Результат получился интересным, и я надеюсь, что вам он понравится тоже.

Сервер Сервисов
На момент завершения проекта Сервер Сервисов (Services Server) будет поддерживать только адд–оны, в будущем же он сможет предоставить инфраструктуру, необходимую для синхронизации контактов между различными сервисами.

Сервисные Адд–оны и Трансляторы контактов
Сервисные адд–оны (Services Add–ons) будут использоваться для расширения функционала системы, здесь будут располагаться адд–оны «провайдеров» контактов. В качестве демонстрации API будет создан адд–он контактов Google. Однако, адд–он будет работать в режиме «потребителя»: только публиковать контакты определенным образом.

«Трансляторы контактов» (Contacts translators) — трансляторы Haiku, используемые для обеспечения независимой поддержки различных файлов контактов. Я создам два таких транслятора: vCard и People. Эти трансляторы никогда не будут использоваться конечными программистами, на самом деле являясь первыми кирпичиками (обеспечивая низкоуровневую функциональность) всего Contacts kit.

BContact и BContactRoster
BContact — это высокоуровневый класс (внутри класс будет использовать BContactFile), предназначенный для хранения и представления контакта (и его полей) в памяти. По возможности, он будет наиболее близким к BeAPI.

BContactRoster позволит использовать Сервисные адд–оны, предназначенные для хранения файлов указанным способом. Одним из таких адд–онов станет адресная книга People, хранящая контакты в /boot/home/people в виде файлов People, или же в каком–либо другом виде, в зависимости от настроек пользователя.

Период внедрения в сообщество
Я планирую начать работу над проектом примерно к 10 мая. До этого момента я бы хотел выполнить две задачи:

  • Ознакомиться с системой трансляторов в Haiku и применить эти знания в своей работе
  • Спроектировать классы BContact и BContactRoster

К счастью, исходя из того, что я понимаю специфику как самого BeAPI, так и исходных кодов Haiku, нет никакой необходимости тратить время на подготовительный этап. Вместо этого, я хотел бы собрать воедино все ингредиенты, чтобы в программном отношении все было хорошо, без заминок. Я буду общаться со своими наставниками, поскольку понимаю, что дизайн – наиболее сложная сторона этого проекта, и я уверен, что их опыт будет полезным.

Оригинал статьи находится здесь

Спасибо

Спасибо за перевод. Вполне интересный проект.

Согласен.

Согласен. В перспективе видится синхронизация с контактами в соц. сетях, jabber и т.д.

Интеграция

Интеграция с интернетом, всякими фейсбуками–твиттерами и прочей херней — правильно. Если мультимедию пока тянуть некому, то хоть в сторону более плотных сношений с вьеб–аппликациями что–то будет. Теперь вот и вебкамерами занялись, значит видеосвязь тоже планируется.

Скайп, впрочем, не светит. Хоть и КуТэ.

Хренотой народ

Хренотой народ занимается. В BeIA некоторых все тянет с неудержимой силой, блин!..
Лучше–б бросили силы на то, чтобы система начала стартовать на Атлонах.

Да кому нужны

Да кому нужны эти обогреватели… AMD — недопроцессоры, и ориентироваться на них не нужно.

*Холивар можно считать начатым* :)

Абсолютно

Абсолютно нормальные процессоры с прекрасным соотношением цена/качество. Насчет обогревателей, это вы слегка попутали.
У меня мобильный Athlon II M300 @ 2 GHz (двухъядерный x64) в одной лиге играет с десктопным Core 2 Duo E4500 @ 2.2 GHz на рендеринге в Cinema 4D. И как бы то нибыло, AMD–шных процессоров много и зачастую они как раз в руках энтузиастов, а это наш контингент.

Так ты напиши

Так ты напиши подробнее про свою проблему с атлонами, может чего придумаем.

А нечего даже

А нечего даже и писать — виснет на стадии загрузочных пиктограмм. Раньше хоть KDL вываливалась, а теперь молчок. Ни на одном Атлоне еще не запустилась! Хоть бюджетный eMachines, хоть брэндовый Dell, хоть desktop на Asus–овской плате и стареньким чипсетом nVidia…

А Sempron сойдёт

А Sempron сойдёт за Athlon? У меня на нотбуке с чипсетом nVidia и всё идёт. Правда видео не родное. Будут драйвера–то для видео nVidia?

Будут

Будут драйвера–то для видео nVidia?

Есть уже. Правда, без 3D Hardware Acceleration.

На стадии

На стадии загрузочных пиктограмм много чего происходит, то что загрузка доходит до этого момента уже говорит нам о том, что с поддержкой процессора все нормально. Скорее всего на всех этих компьютерах зависания вызваны совершенно разными причинами, которые были объединены по факту наличия процессора одинаковой фирмы. Если есть желание определить почему так происходит, то стукнись мне в аську 919912 или заходи на haiku–os@conference.jabber.ru Если ничего не предпринимать само собой ничего не починится.

Да я понимаю,

Да я понимаю, дело скорее всего в чипсете. Пока с диска грузится, пользуясь вызовами BIOS, то работает. А как подгружает свой драйвера, то оказывается вроде как и без носителя.
Ни аськи, ни джабера у меня нет и нет возможности ими пользоваться :(
Проблема если судить по всем моим Атлонам — массовая. Неужели нету «билета» по ней?!

Скорее всего

Скорее всего есть, только назван он не так всеохватывающе как «Не работает на Атлонах», поэтому найти его/их по такому описанию без списка железа и знания на чем останавливается процесс загрузки не получится.

Хотя если

Хотя если посмотреть поближе, то … https://dev.haiku–os.org/ticket/7378

лучше

лучше бы запуском на кпкшках.. навигаторах, телефонах занимались…, электронных книгах…

А смысл?

А смысл? Блютуза нет, инфракрасного модуля нет, поддержки звонков нет, GPS–программ нет, драйвера для камеры нет, родных программ для чтения книг нет, и даже драйвера для тачскрина, AFAIK, нет. Будет всё это — можно будет и о коммуникаторах подумать.

Да и какой смысл запускать десктопную ось на коммуникаторе?

Планшеты

Планшеты гораздо интереснее коммуникаторов. Уже начали появляться мультитач–таблетки на платформе nVidia Tegra, и одно–полуторагиговые ЦПУ, а это значит что? Это значит мультимедиа–аппликации, 1080p видео с выходом на внешнюю панель по HDMI, ускоренный флеш и прочее баловство в интернете. Ну и конечно OpenGL–красивости. В основном Intel–based планшеты оккупировали линуксовые операционки типа MeeGo, Maemo, Ubuntu Mobile/Tablet, не считая всяческих андроидов. На аппаратах средней мощности (~1Ггц) нечего и ждать хорошей производительности от Win7 (речь не идет о кастрационных CE/Mobile версиях), в то время, как какая–нибудь очередная версия Бубунты делает пыщ–пыщ и красивости с ускорением в OpenGL–режиме Unity на том же самом железе. «Семерочке» надо больше мощности и памяти, такие планшеты я тоже видел, правда время автономной работы у них весьма скромное.

Убежден, что Haiku, упакованная правильными драйверами и родным софтом (Qt–софт все же чуток медленнее), сможет показать еще более впечатляющие результаты. Концепция, которую закладывали в BeOS 10 лет назад (эффективная многозадачность и мультимедиа–производительность в несколько потоков на многопроцессорном железе с доп. ускорением) оказалась снова актуальной. Ориентировка на многопроцессорность пригодится с двух, четырех и шести–ядерными конфигурациями. DSP–карты и графические акселераторы теперь живут в мобильных устройствах в качестве OpenCL/CUDA процессоров (не говоря уже о мощных железяках с hardware audio чипами), которые например позволяют смотреть 1080p видео и быстро перекодировать H.264–поток. Интерфейс и размер кнопок Haiku под пальцы будет подгонять Layout Kit.

Все это также верно и для Tegra–нетбуков, и нетбуков–трансформеров. Планшет–трансформер, или тигра–нетбук можно будет просто положить на стол рядом с 24" дисплеем, подключить HDMI и работать почти как с полноценной машиной. Одновременная работа с медиа–приложениями, всевозможный интернет и так далее. Видели ролик, где мобильная версия iMovie монтирует и обрабатывает видео, снятое на встроенную видеокамеру прямо на iPad? Если дать малышу немного любви и ласки, Clockwerk на Haiku будет делать то же самое, попутно занимаясь выводом H.264–потока в реальном времени (на ресурсе Tegra). Чтобы не скучать в эти три минуты, пока кодируется видео (загрузка 16% одно ядро и 9% второе, в основном работает видеочип и не шуршит SSD), юзер будет лениво листать какой–нибудь бложек в WebPositive и болтать по жаберу. Спустя некоторое время это не будет казаться пользователю чем–то необычным, такое отзывчивое поведение системы станет для него нормальным.

Будь больше

Будь больше разработчиков и инженеров по ARM–платформе, это бы не было фантастикой. А тот факт, что в современном мире предвыборные обещания становятся синонимом ненаучной фантастики, говорит только о дерьмовом качестве тех лиц, которые в этих обещаниях рассыпаются (а выиграв выборы — забывают о них). Очень жаль, что темпы разработки Гайки нельзя назвать высокими. Мне очень хотелось бы видеть Haiku процветающей и находящейся в одной лиге с современными легковесными осями, которые атаковали планшеты и нетбуки. Буквально на днях смотрел презентацию Windows 8 на ARM–платформах (именно на nVidia Tegra) и скрипел зубами. «Новый» интерфейс все наверное уже видели. У кого теперь повернется поганый язык, чтобы назвать внешний вид Гайки «детским» или «мультяшным». Массовт в данном случае «сыграл в полного дебила» (went full retard), и этим наверняка сделает Win 8 еще более популярной. Спецификации на железо остались такими же, что и у «Семерки», на АРМ–платформе еще ниже. Оптимизируют наконец.

Со стороны симпатизирующих кодеров из юникс–мира чаще слышно «вот бы я для Хайку написал то, или исправил это», но не «вчера я переделал видео–ноду в Media Kit, скоро будет в дереве» или что–то в этом духе. Со стороны множество сочувствующих, но мало участников.

Совершенно

Совершенно верно

Мой проект

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <i> <img> <strong> <b> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Введите перечисленные символы, чтобы мы убедились, что вы не робот. Не требуется для зарегистрированных пользователей.
L
D
p
A
p
r
Enter the code without spaces and pay attention to upper/lower case.