From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Zajcev Evgeny Newsgroups: gmane.emacs.devel,gmane.emacs.sxemacs.devel Subject: Re: telepathy Date: Mon, 19 Apr 2010 12:25:59 +0400 Message-ID: <864oj7q25k.fsf@gmail.com> References: <87sk6tonv8.fsf@mid.deneb.enyo.de> <20100418053925.GA7294@tomas> <878w8lb2s0.fsf_-_@mail.jurta.org> <8739yt9nks.fsf@mid.deneb.enyo.de> <878w8k8q57.fsf@mid.deneb.enyo.de> <868w8kosie.fsf@gmail.com> <87pr1vant8.fsf_-_@gmx.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1271672749 2362 80.91.229.12 (19 Apr 2010 10:25:49 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 19 Apr 2010 10:25:49 +0000 (UTC) Cc: Juri Linkov , Florian Weimer , sxemacs-devel@sxemacs.org, joakim@verona.se, emacs-devel@gnu.org To: Michael Albinus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Apr 19 12:25:47 2010 connect(): No such file or directory Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1O3oAH-0005yr-6M for ged-emacs-devel@m.gmane.org; Mon, 19 Apr 2010 12:25:17 +0200 Original-Received: from localhost ([127.0.0.1]:55185 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O3oAG-0000pg-9M for ged-emacs-devel@m.gmane.org; Mon, 19 Apr 2010 06:25:16 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O3mIv-0008Br-6l for emacs-devel@gnu.org; Mon, 19 Apr 2010 04:26:05 -0400 Original-Received: from [140.186.70.92] (port=39066 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O3mIo-0007zZ-7T for emacs-devel@gnu.org; Mon, 19 Apr 2010 04:26:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O3mIh-0007fW-7B for emacs-devel@gnu.org; Mon, 19 Apr 2010 04:25:57 -0400 Original-Received: from mail-bw0-f225.google.com ([209.85.218.225]:41559) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O3mIf-0007fA-W6 for emacs-devel@gnu.org; Mon, 19 Apr 2010 04:25:50 -0400 Original-Received: by bwz25 with SMTP id 25so4361079bwz.8 for ; Mon, 19 Apr 2010 01:25:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:to:cc:subject :references:from:date:in-reply-to:message-id:user-agent:mime-version :content-type; bh=ZM45qmjkp73cOyzO5bsFRYJ5i4vkTo6BUTECqQSvL2E=; b=Pxyk8QcDQ6s0KTGADGV9GGaYj2XyogGAADo01LewINQ1oAd6JYv6QW7xEQaKgchYgu OvFsbreWvfXHrSJZWzlJGQxJyG+IBm4+F+t2JAxjE2UBiHXC97GmpwchOoE9n4kDeY7N znWoTZ23dru4uUsYVgDqZ03z5GdHnVZvxm538= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=to:cc:subject:references:from:date:in-reply-to:message-id :user-agent:mime-version:content-type; b=qXr+e9tG/T6F7Cy9CV22Nbc/4FK7fUC+EstcOG/EFSmeDOVcog0HGRJAdS14cYDHpu wDkIrztJbRkPVESBt+L1LuQOrgtBSpG7+V81ozBs338BlVzkTsCrgXdU+r7zB8XNuCD7 WsoVRh0169FfIrRBr4oCbMGMk641g4LmCCRy4= Original-Received: by 10.87.1.7 with SMTP id d7mr3763032fgi.75.1271665548888; Mon, 19 Apr 2010 01:25:48 -0700 (PDT) Original-Received: from lg ([213.232.195.233]) by mx.google.com with ESMTPS id e11sm4037681fga.23.2010.04.19.01.25.46 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 19 Apr 2010 01:25:48 -0700 (PDT) Original-Received: by lg (sSMTP sendmail emulation); Mon, 19 Apr 2010 12:25:59 +0400 In-Reply-To: <87pr1vant8.fsf_-_@gmx.de> (Michael Albinus's message of "Mon, 19 Apr 2010 09:44:51 +0200") User-Agent: Gnus/5.1008 (Gnus v5.10.8) SXEmacs/22.1.12 (berkeley-unix) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Mailman-Approved-At: Mon, 19 Apr 2010 06:11:06 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:123872 gmane.emacs.sxemacs.devel:2892 Archived-At: Michael Albinus writes: > Zajcev Evgeny writes: > >> We are also working on some complex, but interesting bindings to >> libtelepathy in order to create tool for multiprotocol IM and >> collaborative editing in SXEmacs. This is pretty time consuming task >> and we surely need a help, if GNU Emacs community will have same FFI >> API then we could unite our efforts to enhance Emacsen.. > > Some months ago I've started with telepathy.el, using Telepathy's D-Bus > API. This work is currently stalled due to lack of time :-( > > Wouldn't it be an approach to join our efforts? sure, I'll describe my story: Some time ago, I've implemented partial FFI bindings to: - libempathy - libglib2 - libgobject2 - libdbus-glib - libgtk-x11 - libmissioncontrol-client it was enough bindings to implement skeleton for IM. It was able to connect, send, receive messages from any IM protocol supported by empathy, fetch avatars, private info etc - pretty limited, but enough functionality IM skeleton. I've been even using it for couple of monthes as my primary gtalk client. But empathy got evolved, their API was extremely unstable, finally they decided to get rid of libempathy in favor to libtelepathy. Now they are in active position in deciding what to put and what to remove from libtelepathy, they are waiting for recommendations from developers about its (libtelepathy) functionality. I'm now collecting some kind of 'recommendations list' for empathy community to make their codebase reusable and more friendly for other developers. My most intentions is to have two kinds of API in libtelepathy: - Low level D-Bus stuff, that they already have - Stable high level API that would resemble former libempathy Having such diversion will allow developers (other then empathy community) to easily implement IMs, and to lower the level at any time they need a details. As to Emacs, I'm very sure that model when emacs does use external programs and wraps them into lisp level functionality is great!, but in some circumstances that is not enough flexible, sometimes you need direct access to API. Each time implementing C-to-lisp wrappers for different APIs is not that great as having solid FFI implementation, when you can write such wrappers entirely in lisp. So Emacsen C code for D-Bus, ImageMagick, etc is inferior to 100% pure lisp (without performance impact!) implementation in SXEmacs using FFI. thanks -- lg