{"@attributes":{"version":"2.0"},"channel":{"title":"Virtual Reality","link":"https:\/\/blogs.igalia.com\/svillar\/","description":"Recent content on Virtual Reality","generator":"Hugo","language":"en","lastBuildDate":"Tue, 17 Mar 2026 09:46:59 +0100","item":[{"title":"Implementing WebXR in WebKit for WPE","link":"https:\/\/blogs.igalia.com\/svillar\/post\/wpe-webxr\/","pubDate":"Tue, 17 Mar 2026 09:46:59 +0100","guid":"https:\/\/blogs.igalia.com\/svillar\/post\/wpe-webxr\/","description":"<p>Since 2022, my main focus has been working on the <a href=\"https:\/\/wolvic.com\">Wolvic browser<\/a>, still the only open source WebXR-capable browser for Android\/AOSP devices (Meta, Pico, Huawei, Lenovo, Lynx, HTC&hellip;) out there. That&rsquo;s an effort that continues to this day (although to a <a href=\"https:\/\/wolvic.com\/blog\/next-steps\/\">much lesser extent nowadays<\/a>). In early 2025, as a consequence of all that work in XR on the web, an opportunity emerged to implement WebXR support in WebKit for the WPE port, and we decided to take it.<\/p>"},{"title":"A New Way to Browse: Eye Tracking Comes to Wolvic!","link":"https:\/\/blogs.igalia.com\/svillar\/post\/wolvic-eye-tracking\/","pubDate":"Mon, 26 Aug 2024 07:07:07 +0100","guid":"https:\/\/blogs.igalia.com\/svillar\/post\/wolvic-eye-tracking\/","description":"<p>We\u2019re thrilled to share some <strong>exciting news<\/strong> with you. Wolvic is about to transform how you interact with the web in a VR environment with the <a href=\"https:\/\/github.com\/Igalia\/wolvic\/pull\/1501\">introduction of eye tracking support<\/a>! Starting with the <a href=\"https:\/\/wolvic.com\/blog\/release_1.7\/\">just released v1.7.0<\/a> release on the Gecko backend and the highly anticipated v1.0 release on the Chromium backend, you\u2019ll be able to control the browser pointer just by looking at what you want to interact with. While this feature is still being refined, <strong>it\u2019s a fantastic start<\/strong>, and we can\u2019t wait for you to try it out.<\/p>"},{"title":"Flexbox Cats (a.k.a fixing images in flexbox)","link":"https:\/\/blogs.igalia.com\/svillar\/2021\/01\/20\/flexbox-cats-a-k-a-fixing-images-in-flexbox\/","pubDate":"Wed, 20 Jan 2021 10:45:48 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2021\/01\/20\/flexbox-cats-a-k-a-fixing-images-in-flexbox\/","description":"<p>In my <a href=\"https:\/\/blogs.igalia.com\/svillar\/2020\/10\/01\/closing-the-gap-in-flexbox\/\">previous post<\/a> I discussed my most recent contributions to flexbox code in WebKit mainly targeted at reducing the number of interoperability issues among the most popular browsers. The ultimate goal was of course to make the life of web developers easier. It got quite some attention (I loved Alan Stearns&rsquo; <a href=\"https:\/\/twitter.com\/alanstearns\/status\/1311720656086601729\">description of the post<\/a>) so I decided to write another one, this time focused in the changes I recently landed in WebKit (Safari&rsquo;s engine) to improve the handling of elements with aspect ratio inside flexbox, a.k.a make images work inside flexbox. Some of them <a href=\"https:\/\/developer.apple.com\/safari\/technology-preview\/release-notes\/\">have been already released<\/a> in the Safari 118 Tech Preview so it&rsquo;s now possible to help test them and provide early feedback.<\/p>"},{"title":"Closing the gap (in flexbox \ud83d\ude07)","link":"https:\/\/blogs.igalia.com\/svillar\/2020\/10\/01\/closing-the-gap-in-flexbox\/","pubDate":"Thu, 01 Oct 2020 13:34:50 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2020\/10\/01\/closing-the-gap-in-flexbox\/","description":"<p>Flexbox had a lot of early problems, but by mid-May 2020 where our story begins, both Firefox and Chromium had done a lot of work on improving things with this feature. WebKit, however, hadn&rsquo;t caught up. Prioritizing the incredible amounts of work a web engine requires is difficult. The WebKit implementation was still passable for very many (most) cases of the core features, and it didn&rsquo;t have problems that caused crashes or something that urgently demanded attention, so engineers dedicated their limited time toward other things. The net result, however, was that as this choice repeated many times, the comparative state of WebKit&rsquo;s flexbox implementation had fallen behind pretty significantly.<\/p>"},{"title":"Automatizing the Grid","link":"https:\/\/blogs.igalia.com\/svillar\/2016\/05\/10\/automatizing-the-grid\/","pubDate":"Tue, 10 May 2016 21:25:41 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2016\/05\/10\/automatizing-the-grid\/","description":"<p>My <a>Igalia<\/a> colleagues and me have extensively reviewed <a href=\"http:\/\/blogs.igalia.com\/svillar\/2014\/03\/31\/adventures-in-the-grid\/\">how to create grids<\/a> and <a href=\"http:\/\/blogs.igalia.com\/mrego\/2016\/02\/01\/deep-dive-into-grid-layout-placement\/\">how to position items<\/a> inside the grid using different CSS properties. So far everything was more or less static. We declare the sizes of our columns\/rows or define a set of grid areas and that&rsquo;s it. Well, actually there is room for automatic stuff, \u00a0you can dynamically create new tracks just by adding items to positions outside the explicit grid. Furthermore the grid is able to auto-position items for you if you don&rsquo;t really care much about the final destination.<\/p>"},{"title":"BlinkOn 3","link":"https:\/\/blogs.igalia.com\/svillar\/2014\/11\/13\/blinkon-3\/","pubDate":"Thu, 13 Nov 2014 12:29:15 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2014\/11\/13\/blinkon-3\/","description":"<p>Last week I attended BlinkOn3 held at Google&rsquo;s Mountain View office. Not only that but I also had the pleasure of giving a speech about what has been taking most of my time lately, the CSS Grid Layout implementation.<\/p>\n<p>Although there were several talks already scheduled for some weeks, the conference itself is very dynamic in the sense that new talks were added as people started to propose new topics to discuss.<\/p>"},{"title":"I'm attending BlinkOn3","link":"https:\/\/blogs.igalia.com\/svillar\/2014\/11\/04\/im-attending-blinkon3\/","pubDate":"Tue, 04 Nov 2014 16:35:51 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2014\/11\/04\/im-attending-blinkon3\/","description":"<p>Today I&rsquo;m giving a speech at BlinkOn3, the Blink contributors&rsquo; conference held in Google&rsquo;s Mountain View Office. Check the <a title=\"BlinkOn3 agenda\" href=\"http:\/\/bit.ly\/blinkon3\" target=\"_blank\">agenda<\/a> for further details.<\/p>\n<p>The plan is to give an overview about the feature, present the most recent additions\/improvements and also talk about the roadmap. My session is scheduled for 3:30PM at the Artic Ocean room. See you there!<\/p>\n<p><strong>UPDATE<\/strong>: we had many issues trying to setup the hangout so in the end we decided to move the session to Wednesday morning. It&rsquo;s currently scheduled for 1:15PM just after lunch.<\/p>"},{"title":"Grids everywhere!","link":"https:\/\/blogs.igalia.com\/svillar\/2014\/09\/23\/grids-everywhere\/","pubDate":"Tue, 23 Sep 2014 13:53:01 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2014\/09\/23\/grids-everywhere\/","description":"<p>Hi dear readers,<\/p>\n<p>it&rsquo;s awesome to see <a title=\"CSS Grid Layout and responsive design\" href=\"https:\/\/twitter.com\/chibicode\/status\/510369546826711040\">people<\/a>-<a title=\"Glen Maddern on grid layout\" href=\"https:\/\/twitter.com\/glenmaddern\/status\/510372518931075072\">really<\/a>-<a title=\"@sonniesedge on Grid Layout\" href=\"https:\/\/twitter.com\/sonniesedge\/status\/510370987704344576\">excited<\/a> (including our <a title=\"apaprocki on Igalia\" href=\"https:\/\/twitter.com\/apaprocki\/status\/510369651407458304\">friends at Bloomberg<\/a>) about CSS Grid Layout, <a title=\"Can't wait to try Grid Layout\" href=\"https:\/\/twitter.com\/kriesse\/status\/510372880543383552\">specially<\/a> after <a title=\"Rachel Andrew\" href=\"https:\/\/twitter.com\/rachelandrew\">Rachel Andrew<\/a>&rsquo;s talk in CSSConf. I really believe CSS Grid Layout will be a revolution for web designers as it will help them to build amazing responsive web sites without having to add hacks all around.<\/p>"},{"title":"Adventures in the Grid","link":"https:\/\/blogs.igalia.com\/svillar\/2014\/03\/31\/adventures-in-the-grid\/","pubDate":"Mon, 31 Mar 2014 17:20:29 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2014\/03\/31\/adventures-in-the-grid\/","description":"<p>Hi there, fellow readers. Today I&rsquo;m starting a mini-series of posts to talk a little bit about the work I&rsquo;ve been lately doing at <a title=\"Igalia\" href=\"http:\/\/www.igalia.com\">Igalia<\/a> around WebKit and Blink web engines. I&rsquo;ve been involved in the implementation of a new standard called <a title=\"CSS Grid Layout specifications\" href=\"http:\/\/dev.w3.org\/csswg\/css-grid\/\">CSS Grid Layout<\/a> in both engines. My mate rego has already talked about that, so take a look at <a title=\"Welcome to CSS Grid Layout\" href=\"http:\/\/blogs.igalia.com\/mrego\/2014\/03\/13\/welcome-css-grid-layout\/\" target=\"_blank\">his post<\/a> if you need to know more about the basics. Read it? Great, let&rsquo;s move on.<\/p>"},{"title":"Improving the editing code in WebKit","link":"https:\/\/blogs.igalia.com\/svillar\/2013\/03\/22\/improving-the-editing-code-in-webkit\/","pubDate":"Fri, 22 Mar 2013 16:07:25 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2013\/03\/22\/improving-the-editing-code-in-webkit\/","description":"<p>For a while now <a title=\"Igalia\" href=\"http:\/\/www.igalia.com\" target=\"_blank\">Igalia<\/a> and <a title=\"Bloomberg\" href=\"http:\/\/www.bloomberg.com\" target=\"_blank\">Bloomberg<\/a> have been collaborating to advance Web technologies. As part of that, I&rsquo;ve been lately involved on improving some editing capabilities of <a title=\"WebKit\" href=\"http:\/\/www.webkit.org\" target=\"_blank\">WebKit<\/a> (posts to follow soon).<\/p>\n<p>As you probably know, in HTML5 any element can be editable. The feature was introduced some time ago, but was <a title=\"finally standardized\" href=\"http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/editing.html#contenteditable\" target=\"_blank\">finally standardized<\/a> by the WHATWG. It&rsquo;s as easy as adding the attribute <code>contenteditable=true<\/code> and <em>voil\u00e0<\/em>, the magic unfolds (<a title=\"Content editable demo\" href=\"http:\/\/html5demos.com\/contenteditable\" target=\"_blank\">check it out!!!<\/a>).<\/p>"},{"title":"http:\/\/publicsuffix.org support coming to libsoup","link":"https:\/\/blogs.igalia.com\/svillar\/2012\/06\/20\/httppublicsuffix-org-support-coming-to-libsoup\/","pubDate":"Wed, 20 Jun 2012 12:41:19 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2012\/06\/20\/httppublicsuffix-org-support-coming-to-libsoup\/","description":"<p>I have the pleasure to frequently hack on libsoup as part of the great <a title=\"Igalia WebKit team\" href=\"http:\/\/www.igalia.com\/nc\/work\/project\/item\/webkit\">Igalia WebKit team<\/a>. Many things are happening in libsoup but that&rsquo;s a topic for some other upcoming post. Today I will talk about a new feature I landed just a few days ago and that will be shipped with the 2.40 release. I&rsquo;m talking about the support for <a href=\"http:\/\/publicsuffix.org\"><a href=\"http:\/\/publicsuffix.org\">http:\/\/publicsuffix.org<\/a><\/a>.<\/p>\n<p><strong>What&rsquo;s that?<\/strong> The public suffix list is a\u00a0community driven\u00a0initiative from Mozilla whose aim is to provide a trusted list of well known public domain suffixes, like for example: <code>.com<\/code>, <code>.space.museum<\/code>\u00a0or <code>\u0627\u064a\u0631\u0627\u0646.ir<\/code>.<\/p>"},{"title":"ReSiStance 0.9.2 released","link":"https:\/\/blogs.igalia.com\/svillar\/2011\/06\/07\/resistance-0-9-2-released\/","pubDate":"Tue, 07 Jun 2011 10:41:36 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2011\/06\/07\/resistance-0-9-2-released\/","description":"<p>Every now and then I try to devote some spare time to add new features to ReSiStance. For this release there are 3 major changes:<\/p>\n<ul>\n<li>Item window new appearance<\/li>\n<li>Open links in external browser<\/li>\n<li>Labels support<\/li>\n<\/ul>\n<p>The item window (aka the window that shows the contents of a particular blog post\/news\/whatever) has been completely reworked. The header (with the title of the post, the name of the author and the date) used to be an static label on the top that was always visible. That was not a good idea taking into account the size constraints we have for this kind of devices. That&rsquo;s why I decided to embed all that info the the HTML of the feed item. Next\/Prev buttons were also removed from the header. They&rsquo;re now located on the right in landscape mode.<\/p>"},{"title":"ReSiStance 0.8 with Google Reader support","link":"https:\/\/blogs.igalia.com\/svillar\/2011\/01\/11\/resistance-0-8-with-google-reader-support\/","pubDate":"Tue, 11 Jan 2011 20:33:30 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2011\/01\/11\/resistance-0-8-with-google-reader-support\/","description":"<p>I delayed a bit ReSiStance development during last months because we had a lot of work in Igalia&rsquo;s WebKit team. But I managed to find some time during Xmass to advance some work and to review a couple of pending patches. The most important ones were by far, the <a href=\"https:\/\/bugs.maemo.org\/show_bug.cgi?id=11020\" target=\"_blank\">Google Reader support ones<\/a>.<\/p>\n<p>It all started with some sensational work done by Chus Picos. She did almost all the research regarding the status of Google Reader API (check <a href=\"http:\/\/code.google.com\/p\/pyrfeed\/wiki\/GoogleReaderAPI\">here<\/a> if you&rsquo;re interested) and cooked a very nice set of initial patches. Thank you very much for the great work o\/o.<\/p>"},{"title":"WebKitGtk+ HTTP cache ready!","link":"https:\/\/blogs.igalia.com\/svillar\/2010\/10\/20\/webkitgtk-http-cache-ready\/","pubDate":"Wed, 20 Oct 2010 16:54:13 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2010\/10\/20\/webkitgtk-http-cache-ready\/","description":"<p>It&rsquo;s being a while since I joined the <a href=\"http:\/\/www.igalia.com\">Igalia<\/a>&rsquo;s WebKitGtk+ team. Mainly focused on network stuff, I managed to tackle several issues during this time although nothing like what I call &ldquo;<a href=\"https:\/\/bugs.webkit.org\/show_bug.cgi?id=44261\">the one<\/a>&rdquo;.<\/p>\n<p>Last week, after really a lot of work, we landed the patches that add HTTP cache \u00a0support to WebKitGtk+. It all <a href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=523100\">started in libsoup<\/a>. The idea was to create an HTTP cache inside libsoup using the new-io branch started by Dan during the past WebKitGtk+ hackfest. Having that into libsoup is great as it potentially benefits the whole GNOME platform. So taking Xan&rsquo;s SoupCache draft as basis, I started to port it to the new architecture while fixing some bugs and implementing missing features here and there.<\/p>"},{"title":"ReSiStance 0.5 released","link":"https:\/\/blogs.igalia.com\/svillar\/2010\/08\/19\/resistance-0-5-released\/","pubDate":"Thu, 19 Aug 2010 11:53:26 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2010\/08\/19\/resistance-0-5-released\/","description":"<p>I released yesterday ReSiStance 0.5 with some bug fixes and two new really cool features:<\/p>\n<ul>\n\t<li><strong>OMPL Import\/Export<\/strong>: moving from other clients to ReSiStance should be easier now, and you can use the export feature also to backup your feed lists.<\/li>\n\t<li><strong>Feed auto-discovery<\/strong>: this is THE killer feature of this release. Currently it uses the syndic8.com services. Just type a couple of words and ReSiStance will give you back a list of feeds that could be interesting for you. Just select the ones you like the most and voil\u00e0, ReSiStance will automatically setup them for you.<\/li>\n<\/ul>\nThese two really nice features were developed by a University of A Coru\u00f1a student called Chus Picos as part of their master thesis. She did a really great job and is currently working on some other great features I will talk about next time. So Chus congrats and thanks for the great work.\n<p>PS: did I mention that translators are welcomed?<\/p>"},{"title":"ReSiStance with WebKitGtk inside","link":"https:\/\/blogs.igalia.com\/svillar\/2010\/04\/02\/resistance-with-webkitgtk-inside\/","pubDate":"Fri, 02 Apr 2010 11:49:59 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2010\/04\/02\/resistance-with-webkitgtk-inside\/","description":"<p>I have released ReSiStance 0.3 (in case if you wonder what about v0.2, it is just that I didn&rsquo;t blog about it, but it was released on Monday). I don&rsquo;t know how it could happen, but I totally overlooked the presence of WebKitGtk python bindings in the Maemo repos by the time I started to code ReSiStance. I decided to move to WebKit as soon as I noticed my mistake, specially knowing all the cool features of <a href=\"http:\/\/www.webkitgtk.org\">WebKit Gtk<\/a> port from the <a href=\"http:\/\/www.igalia.com\">Igalia<\/a> mates hacking on it.<\/p>"},{"title":"Vive la ReSiStance!","link":"https:\/\/blogs.igalia.com\/svillar\/2010\/03\/22\/vive-la-resistance\/","pubDate":"Mon, 22 Mar 2010 13:33:38 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2010\/03\/22\/vive-la-resistance\/","description":"<p>After all the hard work required to release <a href=\"http:\/\/modest.garage.maemo.org\">Modest<\/a> and <a href=\"http:\/\/tinymail.org\">Tinymail<\/a> I finally found some energy to start a new pet project. I have never really liked the RSS reader that comes with the Nokia N900 <a href=\"http:\/\/www.igalia.com\">Igalia<\/a> gave me. I looks too &ldquo;Diablo&rdquo; and it&rsquo;s not consistent at all with Fremantle look&amp;feel.<\/p>\n<p>That&rsquo;s why I decided to write my own and, at the same time, regain contact with Python. The result is ReSiStance 0.1.<\/p>"},{"title":"Tinymail 1.0 released","link":"https:\/\/blogs.igalia.com\/svillar\/2010\/03\/05\/tinymail-1-0-released\/","pubDate":"Fri, 05 Mar 2010 17:13:42 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2010\/03\/05\/tinymail-1-0-released\/","description":"<p>I&rsquo;m really proud to announce the release of Tinymail 1.0. New packages are available <a href=\"http:\/\/tinymail.org\/files\/releases\/v1.0\/v1.0.0\/\" target=\"_blank\">here<\/a>.<\/p>\n<p>It has been more than 3 years since the project started, and after all the hard work we think now it is time to release the first version of our beloved framework to build e-mail applications for mobile devices. Thank you very much to all contributors! Specially thanks to Philip, Dape, Dirk-Jan and Rob, you all rock guys!<\/p>"},{"title":"The Postman always rings twice","link":"https:\/\/blogs.igalia.com\/svillar\/2010\/02\/19\/the-postman-always-ring-twice\/","pubDate":"Fri, 19 Feb 2010 12:33:43 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2010\/02\/19\/the-postman-always-ring-twice\/","description":"<p>Thanks to the hackfest time <a href=\"http:\/\/www.igalia.com\">Igalia<\/a> gently gives me every week I could resume the work I had previously started to add <code>ENVELOPE<\/code> support to tinymail.<\/p>\n<p>What&rsquo;s this stuff about? Well basically what we can do now is ask the server for <code>ENVELOPE<\/code> instead of fetching a random set of headers (like &lsquo;From:&rsquo;, &lsquo;Subject:&rsquo; &hellip;). Why is this cool? For several reasons:<\/p>\n<ul>\n\t<li>Speed: IMAP servers do cache <code>ENVELOPE<\/code> information so they do not have to inspect every email message to extract the requested headers. They can give you <code>ENVELOPE<\/code> blazingly fast (I run a rough test and downloading a folder with ~1500 headers from AOL IMAP server lasted twice the time of downloading <code>ENVELOPE<\/code> and <code>BODYSTRUCT<\/code>, and this means minutes).<\/li>\n\t<li>Bandwidth: <code>ENVELOPE<\/code> is smaller in size than headers as the name of the headers is not transmitted over the network<\/li>\n\t<li>Future: RDF storage support in tinymail is now closer<\/li>\n<\/ul>\nYou can find this new feature in <a href=\"http:\/\/svn.tinymail.org\/svn\/tinymail\/trunk\/\" target=\"_blank\">trunk<\/a>."},{"title":"Some Modest sir? Sure, with Sugar please","link":"https:\/\/blogs.igalia.com\/svillar\/2010\/02\/15\/some-modest-sir-sure-with-sugar-please\/","pubDate":"Mon, 15 Feb 2010 19:29:58 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2010\/02\/15\/some-modest-sir-sure-with-sugar-please\/","description":"<p>Last week we received a very kind visitor. <a href=\"http:\/\/blog.tomeuvizoso.net\/\" target=\"_blank\">Tomeu Vizoso<\/a>, maintainer and developer of several <a href=\"http:\/\/www.sugarlabs.org\/\" target=\"_blank\">Sugar<\/a> core modules, came to our office in A Coru\u00f1a to share with us his ideas and to talk about the current status of the project.<\/p>\n<p><img loading=\"lazy\" src=\"http:\/\/blogs.igalia.com\/svillar\/files\/2010\/02\/tomeu-168x300.png#center\"><\/p>\n<p>In a hole, creating technologies that help children and try to change education is really a very beautiful goal. We were shocked when Tomeu told us about the size of deployments in some countries of South America, keep rocking guys.<\/p>"},{"title":"Moblin support for Tinymail","link":"https:\/\/blogs.igalia.com\/svillar\/2010\/02\/10\/moblin-support-for-tinymail\/","pubDate":"Wed, 10 Feb 2010 13:13:10 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2010\/02\/10\/moblin-support-for-tinymail\/","description":"<p>I have just submitted a couple of patches (<a href=\"http:\/\/trac.tinymail.org\/trac\/tinymail\/changeset\/4178\" target=\"_blank\">this<\/a> and <a href=\"http:\/\/trac.tinymail.org\/trac\/tinymail\/changeset\/4180\" target=\"_blank\">this<\/a>) to Tinymail that add Moblin to the list of supported platforms.<\/p>\n<p>Basically the main addition is the TnyMoblinDevice, it&rsquo;s an object that allows every application that uses Tinymail to use the connectivity services provided by Moblin&rsquo;s Connection Manager.<\/p>\n<p>In order to build Tinymail for Moblin you just need to use <code>&ndash;with-platform=moblin<\/code> in the configure process.<\/p>"},{"title":"Dear GMail IMAP server developers","link":"https:\/\/blogs.igalia.com\/svillar\/2010\/02\/09\/dear-gmail-imap-server-developers\/","pubDate":"Tue, 09 Feb 2010 10:01:32 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2010\/02\/09\/dear-gmail-imap-server-developers\/","description":"<p>Some people have <a href=\"http:\/\/weblog.timaltman.com\/archive\/2008\/02\/24\/gmails-buggy-imap-implementation\" target=\"_blank\">already complained<\/a> about the way GMail IMAP works. With great power comes a great responsibility. Google guys, you have one of <a href=\"http:\/\/www.marketingpilgrim.com\/2009\/08\/gmail-now-third-largest-email-service-in-us.html\">the largest email services<\/a> in the world, so this means that you have to care a lot about users and clients. Dape recently reported and <a href=\"http:\/\/www.google.pl\/support\/forum\/p\/gmail\/thread?tid=3fae1bc40a5bb312&amp;hl=en\" target=\"_blank\">error in how GMail creates the body structure<\/a> of some particular messages and still got no answer.<\/p>\n<p>Now I found that it does not return the full bodystructure of a multipart\/mixed with two refc822 messages in it. If this sounds strange to you, it&rsquo;s basically how Mozilla Thunderbird creates an email with two other emails as attachments. GMail simply will not tell you about the structure of the two attached emails.<\/p>"},{"title":"Another One Bites the Dust","link":"https:\/\/blogs.igalia.com\/svillar\/2010\/01\/26\/another-one-bites-the-dust\/","pubDate":"Tue, 26 Jan 2010 18:04:56 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2010\/01\/26\/another-one-bites-the-dust\/","description":"<p>After some months of really hard work, I managed to take a look at<a title=\"Bug 3387\" href=\"http:\/\/bugs.maemo.org\/show_bug.cgi?id=3387\" target=\"_blank\"> one of the most annoying bugs<\/a> people have found while using Modest. There was some problem in Tinymail with IMAP servers that do not support NAMESPACE. Basically users were not able to open their INBOXes, just the children mailboxes.<\/p>\n<p>This morning I committed this <a title=\"Changeset 4146\" href=\"http:\/\/trac.tinymail.org\/trac\/tinymail\/changeset\/4146\" target=\"_blank\">long awaited fix<\/a>. This bug was affecting among others people fetching mail from Oracle Beehive, Runbox, O2Online, and probably the most important one, GMX.de (German&rsquo;s biggest provider of free email). Note that if you select GMX in your N900 it currently works fine because it uses the POP access as it is free of charge. IMAP access, the one that was not working, needs a paid account.<\/p>"},{"title":"Modest with BODYSTRUCTURE support","link":"https:\/\/blogs.igalia.com\/svillar\/2009\/12\/16\/modest-with-bodystructure-support\/","pubDate":"Wed, 16 Dec 2009 18:20:38 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2009\/12\/16\/modest-with-bodystructure-support\/","description":"<p>These last weeks <a href=\"http:\/\/blogs.igalia.com\/dape\">Dape<\/a> and me have been working really hard fixing bugs in Modest and Tinymail here and there. Best Modest ever is coming.<\/p>\n<p>But today, I don&rsquo;t want to talk about fixes but features. I want to talk about BODYSTRUCTURE. This is one of the coolest features we could have added to Modest. Tinymail had some initial support, but due to the many bugs it had and the fact that some use cases were not supported forced us not to use it so far. But thanks to the time Igalia gives us for hacking we managed to get it working.<\/p>"},{"title":"Speed, speed, speed !!!","link":"https:\/\/blogs.igalia.com\/svillar\/2009\/11\/11\/speed-speed-speed\/","pubDate":"Wed, 11 Nov 2009 19:28:29 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2009\/11\/11\/speed-speed-speed\/","description":"<p>We have been working hard last months in order to increase the speed of Modest. Summing up<\/p>\n<ul>\n\t<li>By default you will only see the last 250 emails on each folder. This dramatically speeds up the filtering and sorting of the emails. We can do this thanks to <a href=\"http:\/\/svn.tinymail.org\/trac\/tinymail\/changeset\/4046\" target=\"_blank\">this great patch<\/a> by my colleague <a href=\"http:\/\/blogs.igalia.com\/jdapena\" target=\"_blank\">Dape<\/a>. Now we can do things like showing a \"Show more messages\" button, \u00e0 la iphone.<\/li>\n\t<li>Several fixes in tinymail drastically reduced the amount of requests to the server that we needed to have a fully updated list of mail folders for one account. You will notice that loading the folders of a particular account is now much faster.<\/li>\n\t<li>Accounts window is now shown almost instantly (you will also see a cool transition effect that shows the last updated time). The trick? Just use hildon_gtk_window_take_screenshot()<\/li>\n<\/ul>\nAnd last but not least, replying to pure HTML emails no longer generates a distorted message.\n<p>Want more? Just get the code and contribute!<\/p>"},{"title":"The beauty of git","link":"https:\/\/blogs.igalia.com\/svillar\/2009\/10\/15\/the-beauty-of-git\/","pubDate":"Thu, 15 Oct 2009 11:39:20 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2009\/10\/15\/the-beauty-of-git\/","description":"<p>A couple of days ago while reviewing Modest status in giggle I got this nice picture:\n<img loading=\"lazy\" src=\"http:\/\/blogs.igalia.com\/svillar\/files\/2009\/10\/modest-300x213.png#center\">\nisn&rsquo;t cute?<\/p>\n<p>I haven&rsquo;t posted for some time as I was very busy with Modest and tinymail development. Most of you already know that <a title=\"Modest in N900\" href=\"http:\/\/maemo.nokia.com\/features\/email\/\">Modest is N900 email application<\/a>. We got very nice feedback @ Maemo Summit about the new UI so hope you all like that.<\/p>\n<p>Talking about Modest, we&rsquo;re working hard right now to improve its performance even more, and we&rsquo;re achieving very nice results specially after <a title=\"Dape's blog\" href=\"http:\/\/blogs.igalia.com\/dape\">Jose Dapena<\/a>&rsquo;s improvements in the tinymail&rsquo;s folder list store model that we use to display mail folders.<\/p>"},{"title":"GCDS day #3 (a.k.a. GUADEC day #2)","link":"https:\/\/blogs.igalia.com\/svillar\/2009\/07\/06\/gcds-day-3-aka-guadec-day-2\/","pubDate":"Mon, 06 Jul 2009 21:19:35 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2009\/07\/06\/gcds-day-3-aka-guadec-day-2\/","description":"<ul>\n\t<li>Missed <a href=\"http:\/\/www.grancanariadesktopsummit.org\/node\/187\" target=\"_blank\">Xan's<\/a> and <a href=\"http:\/\/www.grancanariadesktopsummit.org\/node\/189\" target=\"_blank\">Alexander's<\/a> talks :(<\/li>\n\t<li>Gave my speech about Modest (slides and video coming soon)<\/li>\n\t<li>Had lunch with Quim, Ivan Frade and Andy Wingo. The VR stuff this dude is doing is really awesome. Have I ever mentioned that VR is my actual vocation? Pity what he's doing is not free software<\/li>\n\t<li>J\u00fcrg, the <a href=\"http:\/\/www.grancanariadesktopsummit.org\/node\/193\" target=\"_blank\">\"yield\" stuff<\/a> in Vala for asynchronous operations is really cool<\/li>\n\t<li>And finally ladies and gentleman, the unique, great and inimitable Lan X\u00f3pez and Hernando Ferrera (or was it the other way around ?). You <a href=\"http:\/\/www.grancanariadesktopsummit.org\/node\/198\" target=\"_blank\">were great<\/a> again guys.<\/li>\n<\/ul>"},{"title":"GCDS day #2 (a.k.a. GUADEC day #1)","link":"https:\/\/blogs.igalia.com\/svillar\/2009\/07\/05\/gcds-day-2-aka-guadec-day-1\/","pubDate":"Sun, 05 Jul 2009 19:04:05 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2009\/07\/05\/gcds-day-2-aka-guadec-day-1\/","description":"<ul>\n\t<li>Arrived at the venue after a pleasant walk along the beach<\/li>\n\t<li>Realized that I'm going to lose FreeFA cup because I leave on Thursday<\/li>\n\t<li>Owen came with <a href=\"http:\/\/www.grancanariadesktopsummit.org\/node\/177\" target=\"_blank\">good ideas<\/a> as usual<\/li>\n\t<li>Finishing the slides of the <a href=\"http:\/\/www.grancanariadesktopsummit.org\/node\/192\" target=\"_blank\">speech<\/a> I'm giving tomorrow with my colleague Dape. Bit nervous indeed.<\/li>\n\t<li>Looking forward to atending Gnome party sponsored by Igalia<\/li>\n<\/ul>"},{"title":"Igalia' new office party","link":"https:\/\/blogs.igalia.com\/svillar\/2009\/05\/27\/igalias-new-office-party\/","pubDate":"Wed, 27 May 2009 09:19:39 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2009\/05\/27\/igalias-new-office-party\/","description":"<p>What a great time we had yesterday. We invited friends and family to the new office opening party.<\/p>\n<p><img loading=\"lazy\" src=\"http:\/\/blogs.igalia.com\/svillar\/files\/2009\/05\/3566565427_ec25286422.jpg#center\"><\/p>\n<p>There are a lot of pics about it, check them out <a href=\"http:\/\/www.flickr.com\/photos\/mariosp\/sets\/72157618742618759\/\">here<\/a>, <a href=\"http:\/\/picasaweb.google.com\/eocanha\/IgaliaNewOfficeOpeningParty\">here<\/a> or <a href=\"http:\/\/www.flickr.com\/photos\/mariosp\/sets\/72157618769128971\/\">here<\/a>.<\/p>\n<p>BTW do you think we could ask for a place in <a title=\"Coolest work places\" href=\"http:\/\/positivesharing.com\/2006\/10\/10-seeeeeriously-cool-workplaces\/\" target=\"_blank\">this list<\/a>?<\/p>\n<p><strong>UPDATE<\/strong>: links were wrong, now they should be fixed<\/p>"},{"title":"Modest @ FreeNode","link":"https:\/\/blogs.igalia.com\/svillar\/2009\/05\/06\/modest-freenode\/","pubDate":"Wed, 06 May 2009 08:48:45 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2009\/05\/06\/modest-freenode\/","description":"<p>If you want to chat with Modest developers you can find us in #modest channel, FreeNode IRC server.<\/p>\n<p>Come and join us!<\/p>"},{"title":"Modest Reloaded","link":"https:\/\/blogs.igalia.com\/svillar\/2009\/04\/28\/modest-reloaded\/","pubDate":"Tue, 28 Apr 2009 19:11:02 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2009\/04\/28\/modest-reloaded\/","description":"<p>After a bit of work we can proudly announce that Modest was finally moved to the Maemo garage git repository. You can check it out <a href=\"https:\/\/git.maemo.org\/projects\/modest\/gitweb?p=modest\">here <\/a><\/p>\n<p>Although is great to move to &ldquo;our favourite DVCS&rdquo;<sup>TM<\/sup>, the most interesting thing is that from now on we&rsquo;re only developing in the public repository, so you&rsquo;ll always have the latest improvements available.<\/p>\n<p>Looking forward to your contributions!<\/p>"},{"title":"Back from GUADEC","link":"https:\/\/blogs.igalia.com\/svillar\/2008\/07\/16\/back-from-guadec\/","pubDate":"Wed, 16 Jul 2008 17:43:07 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2008\/07\/16\/back-from-guadec\/","description":"<p>It seems that a lot of people have decided to buy a Thinkpad X61s like many Igalians. Good news for us:<\/p>\n<pre tabindex=\"0\"><code>sergio@qi:~$ uname -a\nLinux qi 2.6.26 #1 SMP PREEMPT Wed Jul 16 17:34:38 CEST 2008 i686 GNU\/Linux\n<\/code><\/pre><p>iwl4965 LEDs working now. Thank you kernel hackers!<\/p>\n<p><strong>PS:<\/strong> BTW the kernel option is<\/p>\n<pre tabindex=\"0\"><code>Device Drivers-&gt;\nNetwork Device Support -&gt;\nWireless LAN -&gt;\nIntel Wireles WiFi 4965 AGN -&gt;\nEnable LEDS features in iwl4965 driver\n<\/code><\/pre>"},{"title":"Get in touch","link":"https:\/\/blogs.igalia.com\/svillar\/2008\/07\/02\/get-in-touch\/","pubDate":"Wed, 02 Jul 2008 17:33:57 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2008\/07\/02\/get-in-touch\/","description":"<p>Seems that a lot of people are trying Modest and thus they want to report bugs and feature requests. It could be seen in <a target=\"_blank\" href=\"http:\/\/modest.garage.maemo.org\/\">Modest development page<\/a> but just to clarify we have the usual couple of mailing lists<\/p>\n<ul>\n\t<li>modest-devel: for development purpouses<\/li>\n\t<li>modest-user: for Modest users<\/li>\n<\/ul>\nYou can subscribe to both of them <a href=\"https:\/\/garage.maemo.org\/mail\/?group_id=9\">here<\/a>.\n<p>There are many other ways to contact us like the <a target=\"_blank\" href=\"https:\/\/garage.maemo.org\/forum\/?group_id=9\">public forum<\/a>, <strike>the <a target=\"_blank\" href=\"https:\/\/garage.maemo.org\/tracker\/?atid=112&amp;group_id=9&amp;func=browse\">feature request system<\/a>, or the <\/strike><strike><a target=\"_blank\" href=\"https:\/\/garage.maemo.org\/tracker\/?atid=109&amp;group_id=9&amp;func=browse\">bug tracking system<\/a><\/strike> (thanks Andre for pointing me out that starting today we&rsquo;re using the <a href=\"http:\/\/bugs.maemo.org\">maemo bugzilla<\/a>, select &ldquo;Communication&rdquo; as product, and &ldquo;Email&rdquo; as component). So just use those channels of communication, we&rsquo;ll try to help as much as possible.<\/p>"},{"title":"Modest released!","link":"https:\/\/blogs.igalia.com\/svillar\/2008\/06\/25\/modest-released\/","pubDate":"Wed, 25 Jun 2008 08:41:24 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2008\/06\/25\/modest-released\/","description":"<p>Great day for Modest, in which it became the <a href=\"http:\/\/maemo.org\/news\/announcements\/view\/os2008_feature_upgrade-reflash_your_tablet-for_the_last_time.html\">official email client of the Maemo platform<\/a>. After a lot of months of hard work, I&rsquo;m very proud of people that worked with me in this amazing project. Use it, test it and tell us what you think<\/p>\n<p>Now I only have to convince Rufo to use it&hellip;<\/p>\n<p><img loading=\"lazy\" src=\"http:\/\/people.igalia.com\/svillar\/images\/rufo.jpg#center\"><\/p>"},{"title":"JHBuild and SVN problem","link":"https:\/\/blogs.igalia.com\/svillar\/2008\/05\/23\/jhbuild-and-svn-problem\/","pubDate":"Fri, 23 May 2008 17:51:41 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2008\/05\/23\/jhbuild-and-svn-problem\/","description":"<p>I&rsquo;ve recently experiencing a very annoying problem when trying to update modules located in SVN servers using JHBuild. The error was something like this <code>svn: Network socket initialization failed<\/code>. This was even reported as <a href=\"http:\/\/www.mail-archive.com\/debian-bugs-dist@lists.debian.org\/msg515775.html\">debian bug<\/a>. But it&rsquo;s not definitely a bug in SVN, the problem is located in the libgcrypt library used by SVN to deal with SSL enabled SVN servers. Being inside a JHBuild shell you&rsquo;ll most likely have a LD_LIBRARY_PATH environment variable that will point to the location you setup as destination folder for the modules to build. So the svn command will use that libgcrypt and thus the error will appear.<\/p>"},{"title":"Our little babies","link":"https:\/\/blogs.igalia.com\/svillar\/2008\/02\/29\/our-little-babies\/","pubDate":"Fri, 29 Feb 2008 11:42:14 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2008\/02\/29\/our-little-babies\/","description":"<p>After a couple of weeks where I was really busy (FOSDEM included, BTW for those who don&rsquo;t know me, I&rsquo;m the <a target=\"_blank\" href=\"http:\/\/people.igalia.com\/berto\/Belgica2008\/100_6440-1-0.html\">blonde guy<\/a> on the left) I finally managed yesterday to do <a target=\"_blank\" href=\"http:\/\/mail.gnome.org\/archives\/tinymail-devel-list\/2008-February\/msg00036.html\">the 0.0.8 pre-release<\/a> of Tinymail. Read the announcement for a complete list of new features but I&rsquo;d like to highlight these ones:<\/p>\n<ul>\n<li>.NET bindings<\/li>\n<li>Improved the cancellation support: cancel retrieval of messages, cancel retrieval of headers&hellip;<\/li>\n<li>Error handling refactoring<\/li>\n<li>Several bug fixes here and there (specially a very important one in the POP backend)<\/li>\n<\/ul>\n<p>So, if you want to try the new features of tinymail just download the latest release of <a target=\"_blank\" href=\"http:\/\/modest.garage.maemo.org\">Modest<\/a>. We didn&rsquo;t release a new version last week because some of us were at FOSDEM, but you can now get the <a href=\"http:\/\/modest.garage.maemo.org\/repos\/modest-chinook.install\">latest code<\/a>. Things that you&rsquo;d appreciate<\/p>"},{"title":"Igalia in the news","link":"https:\/\/blogs.igalia.com\/svillar\/2008\/02\/01\/igalia-in-the-news\/","pubDate":"Fri, 01 Feb 2008 17:25:04 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2008\/02\/01\/igalia-in-the-news\/","description":"<p>we have been interviewed by a private Spanish TV channel yesterday. They&rsquo;re talking about benefits that companies offer to their employees, and Igalia <a href=\"http:\/\/www.igalia.com\/igalia\/responsibility\/\">has a lot<\/a> ;-).<\/p>\n<p>Check out the video (in Spanish, hope that somebody will provide subtitles):<\/p>\n<div style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\">\n      <iframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen\" loading=\"eager\" referrerpolicy=\"strict-origin-when-cross-origin\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/n_3lyStrFGc?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" title=\"YouTube video\"><\/iframe>\n    <\/div>"},{"title":"Be Modest my friend","link":"https:\/\/blogs.igalia.com\/svillar\/2007\/12\/12\/be-modest-my-friend\/","pubDate":"Wed, 12 Dec 2007 11:43:38 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2007\/12\/12\/be-modest-my-friend\/","description":"<p>A year ago more or less, I started to work on a project called Modest that aimed to become the e-mail client for Nokia Internet Tables like the <a href=\"http:\/\/www.nseries.com\/products\/n800\/\">N800<\/a>\/<a href=\"http:\/\/www.nseries.com\/products\/n810\/\">N810<\/a>. Other people from <a href=\"http:\/\/igalia.com\">Igalia<\/a> joined the team later like <a href=\"http:\/\/blogs.igalia.com\/dape\/\">Dape<\/a>, <a href=\"http:\/\/blogs.igalia.com\/berto\">Berto<\/a>, <a href=\"http:\/\/blogs.igalia.com\/femorandeira\/\">Felipe<\/a>,<a href=\"http:\/\/blogs.igalia.com\/jfernandez\"> Javier<\/a> or <a href=\"http:\/\/blogs.igalia.com\/juanjo\/\">Juanjo<\/a>, and some of them are still working on the project. And yesterday the first Modest beta release <a href=\"http:\/\/www.igalia.com\/nc\/news\/news_details\/?tx_ttnews%5Btt_news%5D=35&amp;tx_ttnews%5BbackPid%5D=3&amp;cHash=27dcfe4beb\">was announced<\/a>. I&rsquo;d like to thank all of them for their effort and their commitment.<\/p>\n<p>More or less at the same time I began to contribute to the <a href=\"http:\/\/tinymail.org\">Tinymail<\/a> project leaded by the unique <a href=\"http:\/\/pvanhoof.be\/blog\/\">Philip van Hoof<\/a>. Thank you Philip for providing us the APIs we wanted, for reviewing our patches and for your long e-mails plenty full of decorators, bodystructures, IMAP IDLEs and so on ;-)<\/p>"},{"title":"Our dreams came true","link":"https:\/\/blogs.igalia.com\/svillar\/2007\/10\/10\/our-dreams-came-true\/","pubDate":"Wed, 10 Oct 2007 11:01:03 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2007\/10\/10\/our-dreams-came-true\/","description":"<p>My mate <a href=\"http:\/\/blogs.igalia.com\/berto\">Berto<\/a> found the ultimate option. It&rsquo;s unbelievable that nobody realized that before, but fixing all the bugs of your application is quite easy. Just take a look at <a href=\"http:\/\/blogs.igalia.com\/berto\/2007\/10\/09\/no-more-bugs\/\">this<\/a> :-)<\/p>"},{"title":"I want my GConf notifications","link":"https:\/\/blogs.igalia.com\/svillar\/2007\/09\/27\/i-want-my-gconf-notifications\/","pubDate":"Thu, 27 Sep 2007 09:10:59 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2007\/09\/27\/i-want-my-gconf-notifications\/","description":"<p>While hacking a little bit with GConf I found what IMHO is an undesirable behaviour of GConf. I think most of developers will agree because you don&rsquo;t want your application to run in a different way than the one you expected when you designed it. And this happens in the following situation:<\/p>\n<p>I set up a GConfClient to listen to changes in keys under a specific directory. I wrote also a handler for this GConf notifications hoping that I&rsquo;ll get every change in those keys (the API doc literally says &ldquo;Any changes to keys below this directory will cause the &ldquo;value_changed&rdquo; signal to be emitted&rdquo;). So I relied in this GConf notification handler some important code of my application. But, while executing the application I realized that I was not getting some notifications even tough I was completely sure that I was setting a new value in the GConf key. So, I had to take a deeper look&hellip;<\/p>"},{"title":"Faster is better","link":"https:\/\/blogs.igalia.com\/svillar\/2007\/07\/20\/faster-is-better\/","pubDate":"Fri, 20 Jul 2007 10:56:29 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2007\/07\/20\/faster-is-better\/","description":"<p>This will be probably my first post at planet GNOME. I&rsquo;d like to thank <a target=\"_blank\" href=\"http:\/\/perkypants.org\/\">Jeff<\/a> for giving me a place between all you guys.<\/p>\n<p>My name is Sergio Villar Sen\u00edn. I&rsquo;ve been using free software for 7 years, and I&rsquo;m a free software developer since 2003 when I joined <a target=\"_blank\" href=\"http:\/\/www.igalia.com\">Igalia<\/a>. I started there with project <a href=\"http:\/\/www.fisterra.org\">Fisterra,<\/a> a free software framework for developing enterprise applications.<\/p>\n<p>I&rsquo;ve been (and I am) involved also in some projects related to Maemo technologies. Recently I&rsquo;ve been contributing to the great <a target=\"_blank\" href=\"http:\/\/tinymail.org\">tinymail<\/a> framework started by <a target=\"_blank\" href=\"http:\/\/pvanhoof.be\/blog\/\">Philip.<\/a><\/p>"},{"title":"They're coming, don't let them go","link":"https:\/\/blogs.igalia.com\/svillar\/2007\/06\/12\/theyre-coming-dont-let-them-go\/","pubDate":"Tue, 12 Jun 2007 23:31:50 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2007\/06\/12\/theyre-coming-dont-let-them-go\/","description":"<p>Today it&rsquo;s a great day for <a href=\"http:\/\/www.igalia.com\">Igalia<\/a>, for <a href=\"http:\/\/tinymail.org\">tinymail<\/a> and for the free software in the whole. Today an Igalian made a commit to the tinymail repository, this commit wouldn&rsquo;t be so important if it weren&rsquo;t done by a girl.<\/p>\n<p>Her name is Antia Puentes and after drawing several awesome class diagrams (see <a href=\"http:\/\/tinymail.org\/trac\/tinymail\/wiki\/LibtinymailDiagrams\">here<\/a> and <a href=\"http:\/\/tinymail.org\/trac\/tinymail\/wiki\/LibtinymailUIDiagrams\">here<\/a>) with all the main interfaces of tinymail, she sent today her first patch to the source code. In particular she developed a functional test that allows you to delete folders of a mail account. If you want to test if (it&rsquo;s not currently upstream, but I think tomorrow it will be) it&rsquo;s better to modify first the mail account used by the test, otherwise <a href=\"http:\/\/pvanhoof.be\/blog\">Philip<\/a> will go after you until death :-). It&rsquo;s as easy as modify some lines of the <code>test\/shared\/account-store.c<\/code> file that configures the mail account:<\/p>"},{"title":"Dancing with mailboxes","link":"https:\/\/blogs.igalia.com\/svillar\/2007\/03\/16\/dancing-with-mailboxes\/","pubDate":"Fri, 16 Mar 2007 10:19:27 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2007\/03\/16\/dancing-with-mailboxes\/","description":"<p>These last two days I have been playing a lot with mailbox moving\/copying. There were some unimplemented features in tinymail that I needed so I had to do them. Basically the list of changes I made are<\/p>\n<ul>\n\t<li>Improved the folder changes notification when the mailboxes are transferred<\/li>\n\t<li>Fixed a bug in the tree model that stores mailboxes when deleting a mailbox<\/li>\n\t<li>Fixed an issue in the connection process<\/li>\n\t<li>Added some error handling to the folder loading process<\/li>\n\t<li>And the one that Phillip likes more :-), added a functional test to check mail folder transfers<\/li>\n<\/ul>\nA lot of work, I sweat, but very useful I believe. There is still one issue that I found remaining, <a title=\"Ticket 36\" href=\"http:\/\/tinymail.org\/trac\/tinymail\/ticket\/36\">this one<\/a>, but I think Phillip will fix it very soon."},{"title":"Drag and drop with sorted tree models (2)","link":"https:\/\/blogs.igalia.com\/svillar\/2007\/02\/08\/drag-and-drop-with-sorted-tree-models-2\/","pubDate":"Thu, 08 Feb 2007 19:37:30 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2007\/02\/08\/drag-and-drop-with-sorted-tree-models-2\/","description":"<p>After the previous post, I improved a little bit the drag and drop example. This time, I added another three view at the right. Now you can drag a row in the right tree view to a node of the left tree view.<\/p>\n<p><img loading=\"lazy\" src=\"http:\/\/people.igalia.com\/svillar\/screenshot-dnd.png#center\"><\/p>\n<p>Another improvements is the support of multiple actions, I mean, the drag &amp; drop can now move a row (as in the first version) or copy it (just press the Control key before dropping a row). It&rsquo;s easy to see the different behaviours if you drag and drop nodes of the left tree view. On the other hand if you drag a row of the right tree view to a node of the left one, the row of the left will be removed except if you perform a copy (pressing Control button).<\/p>"},{"title":"Drag and drop with sorted tree models","link":"https:\/\/blogs.igalia.com\/svillar\/2007\/02\/07\/drag-and-drop-with-sorted-tree-models\/","pubDate":"Wed, 07 Feb 2007 10:27:09 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2007\/02\/07\/drag-and-drop-with-sorted-tree-models\/","description":"<p>I&rsquo;ve recently been adding drag and drop support to a widget that is basically a <a href=\"http:\/\/developer.gnome.org\/doc\/API\/2.4\/gtk\/GtkTreeView.html\">GtkTreeView<\/a> with an associated <a href=\"http:\/\/developer.gnome.org\/doc\/API\/2.0\/gtk\/GtkTreeModelSort.html\">GtkTreeModelSort<\/a>. The gtk+ drag and drop API is weird, there are just few samples and is not very well documented.<\/p>\n<p>Furthermore, the GtkTreeView has its own drag and drop functions so my mind was a mess.Then after some study I finally got an idea about all this stuff and decided to code a sample where to test the things I learned. This example is available <a href=\"http:\/\/personales.igalia.com\/svillar\/treeview.c\">here<\/a> for you.<\/p>"},{"title":"Not so tiny ChangeLog","link":"https:\/\/blogs.igalia.com\/svillar\/2007\/01\/28\/not-so-tiny-changelog\/","pubDate":"Sun, 28 Jan 2007 15:52:11 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2007\/01\/28\/not-so-tiny-changelog\/","description":"<p>A few days ago <a href=\"http:\/\/pvanhoof.be\/blog\">Philip<\/a> wrote the following in the <a href=\"http:\/\/blogs.igalia.com\/svillar\/tinymail.org\">tinymail<\/a> mailing list in response to a patch that I sent to the list:<cite \/><\/p>\n<blockquote>\n<p>Yep, let&rsquo;s go for this. Commit please :)<\/p>\n<\/blockquote>\n<p>Don&rsquo;t forget our poor little ChangeLog file<\/pre>\nI thought, OK Philip it could be poor, but little? Then I decided to take a deeper look to our lovely <a href=\"https:\/\/svn.tinymail.org\/svn\/tinymail\/trunk\/ChangeLog\">ChangeLog<\/a> file and I extracted some figures. First of all the number of entries is 153, really impressive if you realize that the first commit was made on 2006-01-17, just one year ago. The list of contributors ordered by number of entries is shown next<\/p>"},{"title":"Turn a GtkMenuBar into a GtkMenu","link":"https:\/\/blogs.igalia.com\/svillar\/2007\/01\/19\/turn-a-gtkmenubar-into-a-gtkmenu\/","pubDate":"Fri, 19 Jan 2007 18:45:33 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2007\/01\/19\/turn-a-gtkmenubar-into-a-gtkmenu\/","description":"<p>Again, a lot of time since my last post. If you&rsquo;re interested, yes I&rsquo;m still happy and I&rsquo;m still contributing to <a href=\"http:\/\/tinymail.org\">tinymail<\/a>. My contributions decreased a little bit these last weeks because I had other priorities but I&rsquo;ll try to keep them going.<\/p>\n<p>This afternoon I was trying to use the nice <a href=\"http:\/\/developer.gnome.org\/doc\/API\/2.4\/gtk\/GtkUIManager.html\">GtkUIManager<\/a> stuff inside a Hildon application but when trying to add a new menu described in the UI XML definition file to the <a href=\"https:\/\/stage.maemo.org\/svn\/maemo\/projects\/haf\/doc\/api\/hildon-libs\/hildon-libs-HildonWindow.html\">HildonWindow<\/a> I realized that I had a problem. The reason is that hildon_window_set_menu expects a <a href=\"http:\/\/developer.gnome.org\/doc\/API\/2.4\/gtk\/GtkMenu.html\">GtkMenu<\/a> as second argument, but the GtkUIManager gives me a <a href=\"http:\/\/developer.gnome.org\/doc\/API\/2.4\/gtk\/GtkMenuBar.html\">GtkMenuBar<\/a>.<\/p>"},{"title":"Not so tiny(mail)","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/11\/22\/not-so-tinymail\/","pubDate":"Wed, 22 Nov 2006 09:33:22 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/11\/22\/not-so-tinymail\/","description":"<p>Hi,<\/p>\n<p>it&rsquo;s a long time since my last post and the most important thing I want to say is that I&rsquo;m happy :-). Yes it&rsquo;s a very strong word but I&rsquo;m currently carrying on a project that makes me really happy. This project, you&rsquo;ll hear about this in the near future, uses the <a href=\"http:\/\/tinymail.org\">tinymail<\/a> development framework maintained by a really kind and enthusiastic guy, <a href=\"http:\/\/pvanhoof.be\/blog\">Philip Van Hoof<\/a>.<\/p>\n<p>The title says not so tiny because the framework is getting bigger and better. New capabilities are added every day, just take a look at the <a href=\"https:\/\/svn.tinymail.org\/svn\/tinymail\/trunk\/ChangeLog\">Changelog<\/a>. Now we&rsquo;re working on things like folder subscriptions, message transfers or error handling. Release 1.0 is getting closer, but this does not mean that the work is nearly finished, there is still a long TODO, and that&rsquo;s really nice (a lot of things to design and implement).<\/p>"},{"title":"Ekiga builds \ud83d\ude00","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/10\/20\/ekiga-builds\/","pubDate":"Fri, 20 Oct 2006 14:16:25 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/10\/20\/ekiga-builds\/","description":"<p>Yes, it&rsquo;s true. First time in my life. Look at this output:<\/p>\n<pre tabindex=\"0\"><code>test -z &#34;\/var\/opt\/gnome\/share\/pixmaps&#34; || mkdir -p -- &#34;\/var\/opt\/gnome\/share\/pixmaps&#34;\n\/home\/local\/bin\/install-check -m 644 &#39;pixmaps\/ekiga.png&#39; &#39;\/var\/opt\/gnome\/share\/pixmaps\/ekiga.png&#39;\ntest -z &#34;\/var\/opt\/gnome\/etc\/gconf\/schemas&#34; || mkdir -p -- &#34;\/var\/opt\/gnome\/etc\/gconf\/schemas&#34;\n\/home\/local\/bin\/install-check -m 644 &#39;ekiga.schemas&#39; &#39;\/var\/opt\/gnome\/etc\/gconf\/schemas\/ekiga.schemas&#39;\ntest -z &#34;&#34; || mkdir -p -- &#34;&#34;\nmake[2]: Leaving directory `\/usr\/local\/devel\/local\/gnome\/src\/ekiga&#39;\nmake[1]: Leaving directory `\/usr\/local\/devel\/local\/gnome\/src\/ekiga&#39;\n*** Unpacking poppler *** [43\/57]\n<\/code><\/pre><p>I think I&rsquo;d be something like a hero inside Igalia :-).<\/p>"},{"title":"The 3.60 happiness movement","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/09\/13\/the-360-happiness-movement\/","pubDate":"Wed, 13 Sep 2006 18:40:47 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/09\/13\/the-360-happiness-movement\/","description":"<p>I sent today an internal email to the Igalia staff about happiness at work. You know that our main goal, as company, is to achieve <strong>our happiness<\/strong>. Regarding to that, I wrote a not so long essay about my experience with an useful option that comes with GNOME since a few releases ago.<\/p>\n<p>I&rsquo;m talking about the <em>Typing Break<\/em> option located at the last tab of Keyboard preferences dialog. If enabled, it basically locks your screen during a specified amount of time every X minutes. For example, I usually break for 3 minutes each hour. (that is the origin of the 3.60 -read it as three sixty- happiness movement, thanks to <a href=\"http:\/\/blogs.igalia.com\/juanjo\">Juanjo<\/a> for the original name, I modified it lightly in order to give it a more &ldquo;commercial&rdquo; ;-) name).<\/p>"},{"title":"GNOME 2.16 is dead. Long live GNOME 2.18","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/09\/11\/gnome-216-is-dead-long-live-gnome-218\/","pubDate":"Mon, 11 Sep 2006 12:15:47 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/09\/11\/gnome-216-is-dead-long-live-gnome-218\/","description":"<p>GNOME 2.16 is out, so we must begin thinking about the new release. I&rsquo;ve just generated the graph of dependencies of the 2.18 modules using jhbuild<\/p>\n<pre tabindex=\"0\"><code>svillar@wopr:~$ jhbuild dot | dot -Tps &gt; dependencies.ps\n<\/code><\/pre><p>See the result <a title=\"GNOME 2.18 graph dependencies\" href=\"http:\/\/people.igalia.com\/svillar\/\/dependencies.ps.bz2\">here in ps.bz2<\/a> format. Can you find your favorite module? As you can see in the zoom bellow it&rsquo;s an easy task to follow the track :-)<\/p>\n<p><img alt=\"GNOME 2.18 dependencies graph zoom\" loading=\"lazy\" src=\"http:\/\/people.igalia.com\/svillar\/dependencies-zoom.jpg#center\"><\/p>"},{"title":"Lightweight apps","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/09\/06\/lightweight-apps\/","pubDate":"Wed, 06 Sep 2006 15:07:05 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/09\/06\/lightweight-apps\/","description":"<p>I&rsquo;ve been working last days with my old K6-2 300 at home. I had some problems with large apps like Evolution or Firefox there, so I decided to look for another email client and another browser. Then I found two really cool ones.<\/p>\n<p><a href=\"https:\/\/www.dillo.org\">Dillo<\/a> is a very very light weight browser. It does not render web pages perfectly, but it&rsquo;s OK if you just want to read.<\/p>\n<p>On the other hand I found <a title=\"Sylpheed Claws email client\" href=\"http:\/\/claws.sylpheed.org\/\">Sylpheed<\/a> email client. It&rsquo;s also light and has lots of plugins (even integration with dillo).<\/p>"},{"title":"Bye bye, Pluto","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/08\/25\/bye-bye-pluto\/","pubDate":"Fri, 25 Aug 2006 10:50:54 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/08\/25\/bye-bye-pluto\/","description":"<p>Guys, you took the right decision:<\/p>\n<p>Astronomers Relegate Pluto to <a href=\"http:\/\/www.sciam.com\/article.cfm?chanID=sa003&amp;articleID=000BAB90-0894-14EE-889483414B7F014C&amp;ref=rss\">Dwarf Status<\/a><tt><a href=\"http:\/\/www.sciam.com\/article.cfm?chanID=sa003&amp;articleID=000BAB90-0894-14EE-889483414B7F014C&amp;ref=rss\">\n<\/a><\/tt><\/p>"},{"title":"Back to home\/work\/sound","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/08\/21\/back-to-homeworksound\/","pubDate":"Mon, 21 Aug 2006 17:11:38 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/08\/21\/back-to-homeworksound\/","description":"<p>Hi,<\/p>\n<p>I&rsquo;m here at work again, after 3 weeks at  <a title=\"K\u00f6ln Wikipedia\" href=\"http:\/\/en.wikipedia.org\/wiki\/K%C3%B6ln\">K\u00f6ln<\/a> learning German, meeting a lot of people and also having fun. What I can say about the city is &ldquo;das Wetter ist schlecht aber die Leute sind toll&rdquo; :-)<\/p>\n<p>I arrived Galicia on Saturday, and after 20 days without using a computer (very nice experience), I retook my sound problems with mine Intel HDA sound card. The problem was very weird, I had sound once the system is up (the module was loaded also without problems) but every time I tried to modify the volume by software then the sound turned off. As usually I thought that the problem was mine, you know, bad configurations and so on.<\/p>"},{"title":"The real (virtual?) telepathy","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/07\/19\/the-real-virtual-telepathy\/","pubDate":"Wed, 19 Jul 2006 12:00:05 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/07\/19\/the-real-virtual-telepathy\/","description":"<p>So, do you think that <a target=\"_blank\" href=\"http:\/\/telepathy.freedesktop.org\/wiki\">this<\/a> is telepathy? Come on, check <a href=\"http:\/\/www.scienceblog.com\/cms\/virtual-reality-gaming-system-to-test-for-telepathy-11024.html\">this<\/a> out. This is the real (mmm, maybe virtual?) telepathy<\/p>"},{"title":"Mozilla Thunderbird 1 Evolution 0","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/07\/18\/mozilla-thunderbird-1-evolution-0\/","pubDate":"Tue, 18 Jul 2006 19:43:13 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/07\/18\/mozilla-thunderbird-1-evolution-0\/","description":"<p>I&rsquo;ve been using Mozilla Thunderbird for two years, and I was (and I still am) very comfortable with it. Especially I like very much how it manages multiple pop accounts, the themes and mainly its speed.<\/p>\n<p>But now, for some reasons, I began (again) using Evolution. I need it because its great integration with the GNOME desktop, and because it has some features that I need, for example, tasks and appointments management.<\/p>"},{"title":"What is a galago?","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/07\/06\/what-is-a-galago\/","pubDate":"Thu, 06 Jul 2006 08:21:14 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/07\/06\/what-is-a-galago\/","description":"<p>A few weeks ago I have been working with the <a href=\"http:\/\/blogs.igalia.com\/svillar\/www.galago-project.org\/\">libgalago<\/a> library by Christian Hammond. If you don&rsquo;t know what is libgalago take a look at this <a title=\"GNOME journal article\" href=\"http:\/\/gnomejournal.org\/article\/4\/galago---presence-for-the-linux-desktop\">article<\/a> of the Linux Journal. Basically galago is a library that provides presence to applications.\nThis library had a little performance issue. libgalago uses DBUS for getting\/setting presences, and all the calls through the bus were synchronous. Imagine a device with low resources, for example the Nokia 770, that uses libgalago. It could be that if you have a lot of contacts, an application that uses libgalago could get stalled due to it should wait for every call to the bus that requests for presences, contacts, services &hellip;etc.<\/p>"},{"title":"Very special numbers","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/06\/16\/very-special-numbers\/","pubDate":"Fri, 16 Jun 2006 19:04:44 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/06\/16\/very-special-numbers\/","description":"<p>I&rsquo;ll begin posting some comments that I have in my pocket since past week. I had not much time all these days, so I have many things to say ;).<\/p>\n<p>First of all, I&rsquo;m a computer engineer, I like numbers, and I found this <a href=\"http:\/\/www.archimedes-lab.org\/numbers\/Num1_69.html\">nice web<\/a> that shows what&rsquo;s special about most of numbers from 0 to 684.<\/p>\n<p>My favourite one is the <a title=\"The 8 (Wikipedia)\" target=\"_blank\" href=\"http:\/\/en.wikipedia.org\/wiki\/8_%28number%29\">eight<\/a>. Talking about the eight, have you ever read &ldquo;The Eight&rdquo; by <a href=\"http:\/\/www.katherineneville.com\">Katherine Neville<\/a>?. This is one of my favourite books, I really encourage you to read it, it&rsquo;s marvellous. I&rsquo;ve read &ldquo;The Magic Circle&rdquo; that is outstanding also. Katherine you&rsquo;re a very very good writer, and you have only three books, so what the hell are you waiting for? Please write for us :).<\/p>"},{"title":"Again with some DBUS stuff","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/03\/17\/again-with-some-dbus-stuff\/","pubDate":"Fri, 17 Mar 2006 19:07:00 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/03\/17\/again-with-some-dbus-stuff\/","description":"<p>Yesterday was another intensive hackfest afternoon. But this time no one came neither with food nor drinks :(. We should review our policy about hackfests.<\/p>\n<p>Anyway, Iago and me were reviewing our past work about DBUS. We were trying to port Gedit to use DBUS instead of its own &ldquo;bacon-message-connection&rdquo;. We coded some tests in order to know if we were understanding everything. Creating a client and a server was easy, and the API to perform a remote call to an object is easy too, but like other projects, I think there is a lack of documentation. This time we took some help from the <a href=\"http:\/\/raphael.slinckx.net\/dbustutorial.php\">DBUS missing tutorial<\/a><\/p>\n<p>For example, we were in trouble because we were not able to connect to the session server. We read in the <a href=\"http:\/\/dbus.freedesktop.org\/doc\/dbus-tutorial.html\">DBUS tutorial<\/a> that libdbus automatically discovers the address of the per-session bus daemon by reading an environment variable. But what is its name? We found it, well we found them, because there are two: <code>DBUS_SESSION_BUS_ADDRESS<\/code> and <code>DBUS_SESSION_BUS_PID<\/code>.<\/p>\n<p>Finally we were able to call our amazing method called foo from our really impressive GObject called Objectlet. What a great victory :-). Next week, we&rsquo;ll begin analizing the &ldquo;bacon-message-connection&rdquo; code, and then after reviewing the requirements, I hope we&rsquo;ll begin the port.<\/p>"},{"title":"Gedit hacking; porting gedit to use D-BUS","link":"https:\/\/blogs.igalia.com\/svillar\/2006\/01\/26\/3\/","pubDate":"Thu, 26 Jan 2006 18:56:56 +0000","guid":"https:\/\/blogs.igalia.com\/svillar\/2006\/01\/26\/3\/","description":"<p>Iago had a talk with Paolo Borelli this afternoon while I was rebuilding some Gnome 2.14 components. This is a little extract of the talk:<\/p>\n<pre tabindex=\"0\"><code>&lt;pbor&gt; there are other hacks that can be done though  :)\n&lt;iago&gt; I hope so\n&lt;iago&gt;  :)\n&lt;iago&gt; sergio told me\n&lt;iago&gt; something about dbus\n&lt;pbor&gt; yeah\n&lt;iago&gt; that would be interesting\n&lt;pbor&gt; we would like to try to use dbus instead of bacon-message-connection\n&lt;pbor&gt; something like evince and epiphany do\n&lt;iago&gt; cool\n&lt;sergio&gt; eo\n&lt;iago&gt; is that a high priority task?\n&lt;sergio&gt; I lost connection  :(\n&lt;pbor&gt; enforcing just one instance of gedit using dbus and the second time gedit is launched use dbus to pass the list of args to the running\n<\/code><\/pre><\/p>"}]}}