February 11, 2010

You don’t need Kopete Facebook plugin anymore

In May 2008, Facebook announced that they were planning to add XMPP (a.k.a Jabber), the standard messaging protocol behind Google Talk and other chat programs, to their Facebook Chat solution.

In May 2009, seeing that nothing happened, I announced that I was working on Facebook support for Kopete and released a prototype on github. The plugin was not perfect, and it was talking to Facebook using non-standard ways (including html scrapping!), but allowed people to see their contacts and chat.

Yesterday, Facebook finally announced XMPP support. This means various things:

  • You can connecto to Facebook chat using any XMPP compatible program: Kopete (using the standard Jabber plugin)
  • My Kopete plugin is not longer needed and will be deprecated

To setup it with Kopete just add a Jabber account like this:

Kopete preferences for Facebook chat

This is a great move from Facebook. As Lars already mentioned, the Web 2.0 sites have brought lot of innovation and fresh wind to the Web. However, they have ignored interoperability a lot, and he is right, you need “connectors” to get your data.

The Web 2.0 has changed the way users store their data. Now it is everywhere. Without good interoperability we are only adding complexity to users.

If your website implements contacts, don’t forget to add a url with a http accessible vCard list. If your site implement events, provide an url with iCal entries. Google has done a good job with Google Calendar and Google Mail. Worth to mention the urls with calendar/contact entries can be “secret urls” which contain a long random string, but require no authentication, which makes it easy to add to your desktop mashup utilities, organizers, plasmods, etc.

Facebook still could do more. They invented a whole new email system. But they forgot to offer IMAP/SMTP interoperability with it. I am not sure either (feel free to correct me) whether I can generate a secret url with iCal entries of Facebook events as well.

Anyways, big thanks to whoever is responsible of getting this done. You did a big favor to the Internet itself.

As for Kopete. As protocols start to use XMPP, the need of hiding XMPP for the end user arises. The account wizard should display the services known by name, and do the XMPP setup with the known preferences. May be something I can work on now that I don’t need to maintain the protocol anymore. And I almost forget: we need a way to migrate current users of the plugin.

May 24, 2009

Facebook on Kopete, take II

Last week I blogged about Facebook support for Kopete, just after I was able to see my buddies for first time on the screen.

Since then I have made some improvements to message handling and other code cleanups. The code is now available in a git repository at github.

As KDE’s svn trunk is frozen, I will keep it there for now.

You can get packages for openSUSE Factory (version 0.1.2). I gave up trying to build it for openSUSE 11.1, as Kopete API has changed quite a bit. However the package may build on 11.1 plus the KDE 4.2+ repositories. You need libqjson from Flavio Castelli installed (or -devel package if you want to build it).

Roadmap for next 0.1.3:

  • Add caching to avoid downloading the pictures every 3 minutes.
  • More bugfixes

Roadmap for later:

  • Look into adding , searching, and other stuff.

Be aware. This is weeks-old-code. It has not been tested much and has lot of debug messages. Use it if you are a early adopter only.

May 20, 2009

Facebook support: First milestone reached

So, I have been working some weeks on this, and today I reached the first “usable” point. Screenshot:

facebook screenshot

As you may know, Facebook has a chat service. For me at least is slowly becoming the place where I have more people talking to me, and as you may also guess, the value of social systems is very tied to the number of users.

Sadly, Facebook guys where not smart enough as the Google guys and brought yet another damn protocol to this protocol overpopulated world. Then came the worst part. They announced something that was not there and promised Jabber support. One year later nothing has yet happened.

For a such popular service, one starts to think whether waiting another year is worth for a protocol that is so popular. As I wanted it myself now, at some point I decided I was willing to implement it even if a Jabber version was available later.

We already have the problem that users expect to see Google talk in the Kopete list, because developers don’t figure out that grandma does not know what Jabber/XMPP is. So a good improvement would be adding the concept of “services” where we could add a protocol by just saying “it is just jabber, but with this server settings, this logo and this name”. That path would allow for a easy move to other XMPP protocols later.

But for Facebook, no more wait. Yesterday I was able to use it for first time to chat, so I am blogging about it.

Next steps:

  • Add more error handling
  • Fix a bug in the contacts status when they go offline
  • Put it into kopete or playground svn
  • Make an openSUSE package ;-)
  • Cleanup. I started over the testbed plugin and it added some stuff that probably I don’t need
  • Proxy support. I coded the engine using QNetworkAccessManager so it is KDE independent. Only the Kopete plugin is KDE based, so I haven’t looked into proxy support and other stuff

Other stuff with less priority:

  • Adding contacts from the client
  • Configuration (there is no much to configure)
August 12, 2008

Kopete on Windows

I never expected to see Kopete running natively on Windows, but the KDE-Windows guys have done enormous progress:

Kopete on Vista

See the rest of the article on how to run KDE applications on Windows.

November 14, 2007

Cool things in a cold day

Nice surprise today:

Schnee

  • ITO time spent on YaST. No success yet with Wt. It does not provide something like Qt’s QSocketNotifier, or glib’s gioadd_watch which integrate themselves with the event loop. Did a hack with a standard select and a timeout, did not work. Even worse, Wt crashes on processEvents().

  • Will hosted a hack session on Saturday. While I did not get any code done, I got motivated by the Kopete 4.x state to continue working on it at home. Yesterday I commited my chat window participants view code for Kopete. It simplifies the code and the signal battle a lot. I still have to fix some issues.

  • The Android stuff is so cool. Read this post about Dalvik: how Google routed around Sun’s IP-based licensing restrictions on Java ME. The Activity, Services and Intents model seems natural for other scenarios, not only mobiles.

October 3, 2007

various

One Click Install

Help us to market one click install. Go to your software vendor and ask them to provide one-click-install links for their product, together with a install repository. They will, answer “we have no idea how to do that”, then you point them to this tutorial.

Qt

From Aaron’s blog:

Matthias Ettrich is up now doing the Qt platform directions talk, speaking about where Qt is goingin 4.4 and 4.5. He covered:

One of the topics was:

WebKit: merging web technologies and desktop applications. Things like accessing signals/slots from javascript or moving things around in the DOM from C++

Also:

There are apparently plans for at least a 4.7 and there are no current plans for Qt5. If a Qt5 were to happen, it wouldn’t be before 2011/2012 and it would not be a major API design break with Qt4 as Qt4 was to Qt3. However, they feel that Qt4 has what is needed for years of innovation to come and so there are no plans at all for a Qt5 right now.

openSUSE 10.3

From Martin Schlander’s blog:

After listening to those same complaints for a long period of time, it’s amazing that they are all obsoleted in one single release cycle.

  • Cleaned up my bug list. Closed 10.2 bugs fixed in 10.3 that will not be released as online updates and other ones.

Package Kit

Richard Hughes calls for a Qt based package manager for PackageKit.

I would love to see a QT-based package manager and update icon using the PackageKit API. I’m quite prepared to make changes the the libpackagekit source if this is needed, I know I use a lot of gobject’isms. I can provide a private git server and add as much documentation as you guys need, I just need someone to take lead of such a project. Email the mailing list if you are interested. Thanks.

You can see documentation here and available backends here.

Kopete

Matt Rogers calls for more Kopete developers.

My build service packages

Upgraded and fixed builds in most packages from the security:privacy repository project in the openSUSE build service, including tor, torK, vidalia and truecrypt. torK still does not build on x86.

July 5, 2007

ASUS US$199 Laptop running KDE

One of the biggest news stories out of this year’s Computex wasn’t of a new chipset, GPU, or graphics card, but rather of the announcement of the ASUS Eee PC, a small, slim, and light portable computer that is priced at $199. Introduced by Jonney Shih, Chariman and CEO of ASUS at Intel’s keynote address the first day of the show, the Eee PC has already made headlines world wide.
The Eee PC’s main competition is the One Laptop Per Child (OLPC) project that originally aimed to bring to market a laptop priced at $100 for children in developing countries. However, the OLPC project has seen numerous delays and even a price increase to the $170 range.

Thanks Will for the link (hothardware.com)

July 4, 2007

aKademy 2007 Glasgow

So aKademy is over for me. While I type this I am flying back to Germany.

But not for everyone. Hundred of hackers and contributors are still in Glasgow, discussing and coding the pieces that conform the best free desktop out there.

The first social event was in a strange, but cool place called something with “Duck” in it. It was perfect except for the Dj on crack which sounded like a mp3 player with skips on a super high I/O load. People also had some obsession with fruits and flavors in beer which germans did not like.

On Monday evening, we had a nice event at the City Hall. The place was like a palace. Lot of marmol, paintings and details. The reception was in a big luxurious room, were the city authorities and Aaron gave a speech, followed by nice food and wine. We also sang happy birthday to Zack, the KDE e.V. and other people. I did not bring my camera, but here there is a picture from Nikolaj Hald Nielsen blog.

I had much fun talking with the spanish guys (plus Helio). Finally met Thiago and Charles and had a italian dinner with Will and some Trolls.

Unlike last year, I was able to get my KDE4 development environment running in no time, and spend most of the time playing with Kross and Kopete integration.

The organization was good. I liked the hostel more than the one in Dublin, especially because it had one bathroom per shared room and completely free wireless (even if it only worked the first day).

Scotland was a special place for me to visit, as the first MacVicar came to Chile from Scotland. I had the chance to meet some of family there. That was incredible! They even showed me the original letter the wife of the first MacVicar in Chile wrote to his brother in Scotland announcing his death.

  • Glasgow has a nice downtown, but it is not my kind of city (Well, Dublin wasn’t too). I am looking forward to see other cities from the country in the future.
  • When walking in the street. I immediately noticed something. Then I realized it was not my imagination.

I think we were all amazed by the number of people. It really felt like a big group (just check the group photo). You rock guys.

My photoset is here.

June 28, 2007

Hackweek III (day 4)

Martin Vidner succeeded in making possible to use YaST UI:: from the language bindings. This means you could write a complete module in Perl, and get the benefits of the abstracted Qt/ncurses/gtk user interface.

These changes means that my Ruby bindings will be able to support it too.

I also got the code as yast2-bindings-ruby in the build service, it doesn’t build yet, but soon will appear in the home:dmacvicar project.

Srinivasa Ragavan is working on Desktop status awareness, which means trying to do useful tasks when you are away from your computer. I pointed him to the Kopete motion-auto-away plugin I hacked some years ago in order to set the user away in the messaging client if no motion was detected in a webcam stream.

October 30, 2006

LISTEN I HAVE MY RIGHTS!!!!

Participating in a opensource community has lot of advantages, you get to know really cool people. You learn lot of new things… but also strange anecdotes happen.

Some time ago I was talking with Will, and we both remembered one of the most funniest (now) things ever happened in #kopete irc channel. We laughed a lot, until Will told me. “I still have those logs somewhere”. I said “Really! I think it is time to blog them.

April 3, probably 2003 or 2004. I was in Chile by then. It was sleeping time for Europa. In the channel you can see Sean Egan, GAIM’s lead developer, and myself. Until….

The following takes place between 5 am and 6 am… Events ocur in real time.

Read the rest of this entry »