<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Smile</title>
	<atom:link href="http://mariospr.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://mariospr.org</link>
	<description>Tomorrow could be worse</description>
	<lastBuildDate>Fri, 03 May 2013 15:37:31 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<item>
		<title>WebKit Contributors Meeting 2013</title>
		<link>http://mariospr.org/2013/05/03/webkit-contributors-meeting-2013/</link>
		<comments>http://mariospr.org/2013/05/03/webkit-contributors-meeting-2013/#comments</comments>
		<pubDate>Fri, 03 May 2013 15:34:00 +0000</pubDate>
		<dc:creator>mario</dc:creator>
				<category><![CDATA[a11y]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Meetings and conferences]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet GPUL]]></category>
		<category><![CDATA[Planet WebKitGTK]]></category>
		<category><![CDATA[Planeta GNOME Hispano]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[WebKit2]]></category>
		<category><![CDATA[WebKitGTK+]]></category>

		<guid isPermaLink="false">http://mariospr.org/?p=1541</guid>
		<description><![CDATA[It turns out I&#8217;m writing this post at 6:00 AM in the morning from a hotel instead of doing it at a more reasonable time from my comfy home or a nice cafeteria in Staines. That&#8217;s already quite a new &#8230; <a href="http://mariospr.org/2013/05/03/webkit-contributors-meeting-2013/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>It turns out I&#8217;m writing this post at 6:00 AM in the morning from a hotel instead of doing it at a more reasonable time from my comfy home or a nice cafeteria in <a title="Staines-upon-Thames" href="http://en.wikipedia.org/wiki/Staines-upon-Thames">Staines</a>. That&#8217;s already quite a new thing by itself, and the reason for that is not that I became crazy or something, but the fact that I&#8217;m completely jet-lagged in California right now in order to attend my second <a title="WebKit Contributors Meeting" href="http://trac.webkit.org/wiki/May%202013%20Meeting">WebKit Contributors Meeting</a> (<a title="Attending the WebKit Contributors Meeting 2011" href="http://mariospr.org/2011/05/05/webkit-contributors-meeting-sockets-plugs/">my first time was in 2011</a>), this time as part of the <a title="Samsung UK" href="http://www.samsung.com/uk">Samsung</a> team in the UK R&amp;D center, together with my mate <a title="Anton Obzhirov" href="http://uk.linkedin.com/pub/anton-obzhirov/4/256/876">Anton Obzhirov</a>.</p>
<p>With regard to that, it has been a very interesting experience so far where I could meet new people I still haven&#8217;t had the chance to see in real life yet (e.g. my mates from other <a title="Samsung UK" href="http://www.samsung.com/uk">Samsung</a> R&amp;D centers or some guys from <a href="http://www.apple.com">Apple</a> I didn&#8217;t have the chance to meet in person before), as well as chat again with some friends and former mates that I haven&#8217;t seen for a while, such as <a title="Martin's blog" href="http://abandonedwig.info/">Martin</a>, <a title="Xan's blog" href="http://blogs.gnome.org/xan/">Xan</a> and <a title="Philippe's blog" href="http://base-art.net/">Philippe</a> from <a title="Igalia" href="http://www.igalia.com">Igalia</a>, <a title="Byungseon" href="http://www.linkedin.com/profile/view?id=94380850">Byungseon</a> from <a href="http://www.lge.com">LG</a>, <a title="Nayan's blog" href="http://xc0ffee.wordpress.com/">Nayan</a> from <a href="http://www.motorola.com">Motorola</a> or <a title="Gustavo's blog" href="http://blog.kov.eti.br/">Gustavo</a> from <a title="Collabora" href="http://www.collabora.co.uk">Collabora</a> to mention some of them. It&#8217;s strange, and at the same time wonderful, how easily you can catch up on conversations with people that you barely see once a year (or even less) and mainly in conferences, and definitely one of my favourite parts of attending these kind of events, to be honest.</p>
<p>Also, from a less social point of view, I have to say I found very interesting the sessions I&#8217;ve attended so far, specially the one about &#8220;managing the differences between ports&#8221;, although the one about &#8220;build systems&#8221; was quite interesting too. Not sure how far we are yet in the <a href="http://www.webkitgtk.org">WebKitGTK+</a> port from realistically switching to some kind of commonly agreed build system (<a href="http://www.cmake.org">cmake</a>?), but at least it&#8217;s a good start to agree on the fact that it would be an interesting move and now that some people pushing for it.</p>
<p>My only regret about this first day is that I missed <a title="Dave Hyatt" href="http://en.wikipedia.org/wiki/Dave_Hyatt">Hyatt</a>&#8216;s talk about pagination due to some health issues I&#8217;m experimenting while in California, mostly due to the extremely hot and dry weather (anything over 25 Celsius is &#8220;unbearable hot&#8221; for me), which is causing me a little bit of cough, sore throat and fever, all well mixed with the jet lag to make it a perfect &#8220;welcome pack&#8221; to the meeting. Fortunately, I got some &#8220;interesting&#8221; medicines that seem to have relieved a bit the pain and I could attend the rest of the sessions without much trouble, other than some occasional coughing. Not bad.</p>
<p>By the way, for those of you who were not lucky enough to attend the meeting but are anyway interested in the topics being discussed here, make sure you check the <a title="WebKit Contributors Meeting 2013" href="http://trac.webkit.org/wiki/May%202013%20Meeting">main TRAC page for the meeting</a>, where you can also find transcripts for most of the sessions.</p>
<p>As for today, some more sessions will take place as well as a couple of hackathons so I expect it to be very interesting as well. Also I hope I can find some time too to work a bit on my patches to remove the nasty dependency on pango we have in <a href="http://www.webkitgtk.org">WebKitGTK+</a> accessibility code, which is preventing us to have proper caret navigation in <a title="WebKit2GTK+" href="http://webkitgtk.org/reference/webkit2gtk/unstable/index.html">WebKit2GTK+</a> based browsers, as well as to discuss possible ways in which our lab could collaborate more actively upstream. Seems a promising day already!</p>
<p>Last (but not least), and in a completely unrelated and super-off-topic way, I would like to tell the world that I&#8217;m <strong>extremely happy</strong> for the fact that next week will be the end of my &#8220;lonely existence in the UK&#8221;, finally. After 4 months of living alone in <a title="Staines-upon-Thames" href="http://en.wikipedia.org/wiki/Staines-upon-Thames">Staines</a> away from my family with just some flash trips from Friday to Sunday (every 2 weeks), I&#8217;m once and for all travelling on Thursday to my home town with a one way plane ticket to do some final arrangements, put everything (family included!) in the car and travel to <a title="Santander" href="http://en.wikipedia.org/wiki/Santander,_Spain">Santander</a>, where we&#8217;ll be taking a ferry that will take us to the <a title="Portsmouth" href="http://en.wikipedia.org/wiki/Portsmouth">Portsmouth</a> (southern coast of England), from where we will just drive to <a title="Staines-upon-Thames" href="http://en.wikipedia.org/wiki/Staines-upon-Thames">Staines</a> in order to start our new life, all together again.</p>
<p>It has been quite hard for us to live this way for so long, but I think in the end we managed to handle the situation quite well, and now it seems all our efforts are already paying off because things seem to be finally fitting in the right places: we have a lovely house in <a title="Staines-upon-Thames" href="http://en.wikipedia.org/wiki/Staines-upon-Thames">Staines</a>, we have a place in a nearby public school for my oldest kid to start on September, most of the needed paperwork seems to be done and we already moved all our stuff from Spain (lots of toys!), which is now waiting to be used in our new place.</p>
<p>I really can&#8217;t wait to live again in the noisy and chaotic atmosphere that two kids can so easily create around them. Even if that means it will probably drive me crazy every now and then and that I won&#8217;t sleep that well sometimes.</p>
<p>Yes. Even considering that.</p>
]]></content:encoded>
			<wfw:commentRss>http://mariospr.org/2013/05/03/webkit-contributors-meeting-2013/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Multiple cursors, Emacs and me</title>
		<link>http://mariospr.org/2013/03/23/multiple-cursors-emacs-and-me/</link>
		<comments>http://mariospr.org/2013/03/23/multiple-cursors-emacs-and-me/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 12:41:59 +0000</pubDate>
		<dc:creator>mario</dc:creator>
				<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet GPUL]]></category>
		<category><![CDATA[Planeta GNOME Hispano]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Text Editors]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://mariospr.org/?p=1514</guid>
		<description><![CDATA[It&#8217;s been 7 years already since I started using Emacs and, for some reason, I still haven&#8217;t found a text editor I do feel more comfortable with, and I Swear to Gods I&#8217;ve tried. I really did. And as proof, &#8230; <a href="http://mariospr.org/2013/03/23/multiple-cursors-emacs-and-me/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been 7 years already since I started using <a href="http://www.gnu.org/software/emacs/">Emacs</a> and, for some reason, I still haven&#8217;t found a text editor I do feel more comfortable with, and I Swear to Gods I&#8217;ve tried. I really did. And as proof, I can tell that <a title="Berto's blog" href="http://blogs.igalia.com/berto/">those</a> <a title="Carlos's blog" href="http://carlosabalde.com/">who</a> <a title="Sergio's blog" href="http://blogs.igalia.com/svillar/">know</a> me a bit can really support this statement, no doubt about it <img src='http://mariospr.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The thing is that,  for some reason or another, whenever I tried a different editor, a <a title="Eclipse" href="www.eclipse.org?PHPSESSID=empueasfrifahr7k8fq6lerpq1">fancy IDE</a> or anything else, the result was always the same: I first realize of a new and very interesting feature X in the editor Y which makes me think for a while &#8220;hmmm&#8230; this could be the one&#8221;, then I start using that editor Y for a while, then I realize I&#8217;m not comfortable enough for many other things, then I realize I&#8217;m continuously alternating between that editor and Emacs and then&#8230; finally&#8230; I somehow manage to &#8220;port&#8221; that very nice feature X to Emacs and ditch editor Y to finally come back to the origin again.</p>
<p>And that has been the story of my (text editing) life so far. And, as you can see, I haven&#8217;t written a blog post about every single feature X I added to my Emacs. But this time is different.</p>
<p>Everything started, as usual, with me willing to try a new text editor, and this time I selected <a href="http://www.sublimetext.com/">Sublime Text 2</a> as the one to check, mainly because I wanted to check myself whether of all the hype around it was justified or whether it was just&#8230; well&#8230; just hype.</p>
<p>And I have to say that I was really impressed by ST2: what I&#8217;ve seen is a very nice and modern editor which is blazingly fast and convenient to use, and which on top of that it comes with a lot of useful features and a nice configuration out-of-the box, which is also very easy to customize and extend if you want to. Up to that moment, everything seemed to suggest I could be really in front of a replacement for Emacs, but given my past experiences I still took this with a grain of salt (even if I could not hide my excitement either)&#8230;</p>
<p>If you don&#8217;t believe me, you should really checkout <a title="Sublime Text website" href="http://www.sublimetext.com/">its website</a> and, even better, the <a title="ST2 tutorial" href="https://tutsplus.com/course/improve-workflow-in-sublime-text-2/">&#8220;Perfect Workflow in Sublime Text2&#8243; tutorial</a> and you will see yourself what I&#8217;m talking about.</p>
<p>However, not all were bells and whistles in my ST2 experience. There were drawbacks too, and the main ones I could see were that it was not an Open Source editor and that the bus-factor was really scary (only one developer, I think). And those two things together were a serious concern to me. But I tried it anyway, because it really feel like it could be a serious competitor for my Emacs, and I was willing to take the risk, just for the sake of checking it (and playing around with a new editor, which I confess is something I love doing every now and then in any case).</p>
<p>But yet again, the same pattern happened one more time: I found myself loving ST2 in many regards but alternating too often between it and Emacs since, even if ST2 was lovely for many things, there was nothing that was really convincing me of replacing my Emacs in favour of it. Well, <strong>almost</strong> nothing&#8230; because the <a href="http://www.sublimetext.com/docs/2/multiple_selection_with_the_keyboard.html">&#8220;multiple cursors&#8221; feature in ST2</a> got my attention as not many text editor features got it in the last years.</p>
<p>So, the obvious step at this point, having already decided that I would be going back to Emacs again, would be to try to port this nice feature to Emacs, and then I found the <a title="Emacs Rocks!" href="emacsrocks.com?PHPSESSID=empueasfrifahr7k8fq6lerpq1">awesome &#8220;Emacs Rocks!&#8221; site</a>, where I found a demonstration of this sleek feature working inside Emacs. I´ll leave <a title="Emacs Rocks! Episode 13: multiple-cursors" href="http://www.youtube.com/watch?v=jNa3axo40qM">the link to the video here</a>, so you can really see what all this is about:</p>
<p><object width="560" height="315" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/jNa3axo40qM?version=3&amp;hl=es_ES" /><param name="allowfullscreen" value="true" /><embed width="560" height="315" type="application/x-shockwave-flash" src="http://www.youtube.com/v/jNa3axo40qM?version=3&amp;hl=es_ES" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>As you can see, this feature is amazingly useful for many things of everyone&#8217;s life (well, maybe not really everyone&#8217;s, but almost!), as it&#8217;s incredibly helpful for things like massive &#8220;search &amp; replace&#8221;, improving code structure (e.g. break a list of strings in one single line into multiple ones) and many other situations.</p>
<p>Others might disagree, of course, but for me there&#8217;s a &#8220;before&#8221; and an &#8220;after&#8221; I knew about this feature, and I don&#8217;t think I will be able to easily move now to an editor which doesn&#8217;t have something like this available in some way.</p>
<p>Should you want to try it out yourself, I recommend you to check out both <a href="http://emacsrocks.com/e13.html">episode 13 in &#8220;Emacs Rocks!&#8221;</a> as well as the <a href="https://github.com/magnars/multiple-cursors.el">github repository where you&#8217;ll find the package</a> for Emacs.</p>
<p>Guess this means I&#8217;ll stick to <a href="http://www.gnu.org/software/emacs/">Emacs</a> for some more time after all, even if I&#8217;m still not sure I will stick forever to it, since I can&#8217;t say either I&#8217;m 100% comfortable with it, just that it&#8217;s the best thing I&#8217;ve found so far. Yet I can&#8217;t avoid feeling that <a title="U2: &quot;I Still Haven't Found What Im Looking For&quot;" href="http://www.youtube.com/watch?v=Pb1XXs7e7ac">I still haven&#8217;t found what I&#8217;m looking for</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://mariospr.org/2013/03/23/multiple-cursors-emacs-and-me/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Accessibility in [WebKit]GTK+</title>
		<link>http://mariospr.org/2013/02/03/accessibility-in-webkitgtk/</link>
		<comments>http://mariospr.org/2013/02/03/accessibility-in-webkitgtk/#comments</comments>
		<pubDate>Sun, 03 Feb 2013 00:26:23 +0000</pubDate>
		<dc:creator>mario</dc:creator>
				<category><![CDATA[a11y]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet GPUL]]></category>
		<category><![CDATA[Planet WebKitGTK]]></category>
		<category><![CDATA[Planeta GNOME Hispano]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[WebKit2]]></category>
		<category><![CDATA[WebKitGTK+]]></category>

		<guid isPermaLink="false">http://mariospr.org/?p=1422</guid>
		<description><![CDATA[This past week I&#8217;ve spent some time explaining to my mates at Samsung the basics about how accessibility works and is implemented in WebKitGTK+. I realized, yet again, of how messy and confusing everything can be the first time you encounter these things. &#8230; <a href="http://mariospr.org/2013/02/03/accessibility-in-webkitgtk/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This past week I&#8217;ve spent some time explaining to my mates at <a title="SERI UK" href="http://www.linkedin.com/company/samsung-electronics-research-institute">Samsung</a> the basics about how accessibility<i> </i>works and is implemented in <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a>. I realized, yet again, of how messy and confusing everything can be the first time you encounter these things. After all, <a title="WebKit" href="http://www.webkit.org">WebKit</a> is quite a complex project already and <a title="Computer accessibility" href="http://en.wikipedia.org/wiki/Computer_accessibility">accessibility</a> is not a simple matter either.</p>
<p>In order to help them better understand this topic, I wrote a summary to have as reference that explains in my own words which the main pieces of the whole puzzle are, and how they relate to one another. In my experience, it&#8217;s not always easy to understand the big picture quickly, and I think this kind of documentation can be quite useful for anyone willing to contribute to accessibility in <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a>. At least it would have been useful for me when I started working on this. I only regret not having written it before, but better late than never, right?</p>
<p>So let&#8217;s begin then. I will start by talking about accessibility-only stuff, which are basically common to any accessible application based in <a title="GTK+" href="http://www.gtk.org">GTK+</a>. Then I will explain the bits specific to <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a> and how they fit in the picture.</p>
<h3>Accessibility in GTK+ applications</h3>
<p>The parts, or &#8220;actors&#8221;, involved in any <a title="GTK+" href="http://www.gtk.org">GTK+</a> application from an accessibility point of view are:</p>
<ul>
<li><strong>Assistive Technologies (<em>ATs</em>)</strong></li>
<li><strong>AT-SPI (Assistive Technology Service Provider Interface)</strong></li>
<li><strong>ATK (Accessibility ToolKit)</strong></li>
<li><strong>ATK &lt;-&gt; AT-SPI bridge</strong></li>
<li><strong>GTK+</strong></li>
<li><strong>GTK&#8217;s Accessibility Implementation</strong></li>
</ul>
<p><a href="http://mariospr.org/2013/02/03/accessibility-in-webkitgtk/atk-a11y/" rel="attachment wp-att-1506"><img class="aligncenter size-large wp-image-1506" alt="Accessibility in GTK+ applications" src="http://mariospr.org/wp-content/uploads/2013/02/atk-a11y-600x290.png" width="584" height="282" /></a></p>
<p>Now let&#8217;s describe all those points, one by one:</p>
<p><strong>Assistive Technologies (<em>ATs</em>)</strong>:</p>
<p><em><a href="http://en.wikipedia.org/wiki/Assistive_technology" rel="nofollow">ATs</a> are a</em>pplications whose main purpose is to facilitate access and/or interaction with certain bits of information interesting from an accessibility related point of view, exposed by other applications. This access/interaction can be primarily output based. For instance the <a href="https://live.gnome.org/Orca" rel="nofollow">Orca</a> screen reader is an <em>AT</em> which provides access via text to speech and/or refreshable braille to on-screen information exposed by editors, browsers, mail agents and other applications.</p>
<p>Other <em>ATs</em> are primarily input based, allowing the user to interact with the exposed applications by executing certain actions over them (e.g. clicking on a exposed link), so it&#8217;s not just about &#8220;consuming&#8221; information. Normally, <strong><em>ATs</em></strong> are called the <strong><i>clients</i></strong> and the <strong>applications</strong> exposing information the <strong><i>servers</i></strong>, as in the end it&#8217;s actually an implementation of a typical client/server architecture.</p>
<p><strong>AT-SPI (Assistive Technology Service Provider Interface)</strong>:<strong><br />
</strong></p>
<p>Set of interfaces that Assistive Technologies (the <i>clients</i>) understand and use to inspect and interact with the accessible content exposed by applications in Linux environments. At some point, &#8220;someone&#8221; has to provide actual <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a> objects (linked together forming a <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a> hierarchy) implementing several of those interfaces (depending of the type of object) so <em>ATs</em> can &#8220;see them&#8221;.</p>
<p>This is the job of <a href="http://git.gnome.org/browse/at-spi2-core/tree/registryd" rel="nofollow">the AT-SPI registry</a>, a daemon which takes care of maintaining a hierarchy of <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a> objects for every single accessible application in the system, in a centralized way, so <em>ATs</em> can interact with them. It is worth mentioning that the parent/children relationships in that hierarchy are modelled in terms of <a title="D-Bus" href="http://www.freedesktop.org/wiki/Software/dbus">D-Bus</a>, so different <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a> objects can belong to different processes.</p>
<p><strong>ATK (Accessibility ToolKit)</strong>:</p>
<p>The toolkit used by <a title="GTK+" href="http://www.gtk.org">GTK+</a> applications to expose accessible representations of the toolkit&#8217;s objects, along with appropriate interfaces, on the side of the applications exposing content (the <i>servers</i>). This representation is an almost a 1:1 match with the objects and interfaces defined by <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a> (that is, <em>almost</em>).</p>
<p>The main difference when it comes to understanding its place in the puzzle is that <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a> is what <i>clients</i> (ATs) understand, and that is not process-bounded (see previous point). <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a>, in contrast, is what <i>servers</i> implement to expose accessible information, and it is process-bounded. Thus the parent/children relationships in the <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> hierarchy are modelled by actual references (pointers) between objects living in the same process.</p>
<p><strong>ATK &lt;-&gt; AT-SPI bridge</strong>:</p>
<p>The glue that makes sure there&#8217;s a mapping between the <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> hierarchy living in the <i>server</i> process and the <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a> hierarchy held by <a href="http://git.gnome.org/browse/at-spi2-core/tree/registryd" rel="nofollow">the AT-SPI registry</a>. Such a bridge is implemented in terms of <a title="D-Bus" href="http://www.freedesktop.org/wiki/Software/dbus">D-Bus</a> too, as it needs to communicate with the registry whenever something needs to be updated there, as well as when the <em>server</em> needs to react to external actions coming from ATs (e.g. perform the default <em>action</em> for an object).</p>
<p><strong> GTK+</strong>:</p>
<p>The widgets toolkit normally used by applications embedding <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a>. Explaining what <a title="GTK+" href="http://www.gtk.org">GTK+</a> is beyond the scope of this post, so I will assume you already know what it is.</p>
<p><strong> GTK&#8217;s Accessibility Implementation</strong>:</p>
<p>Provides <a title="AtkObject" href="http://developer.gnome.org/atk/stable/AtkObject.html">ATK objects</a> implementing different <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> interfaces for every widget from the <a title="GTK+" href="http://www.gtk.org">GTK+</a> library, and uses the <a href="http://git.gnome.org/browse/at-spi2-atk/" rel="nofollow">ATK &lt;-&gt; AT-SPI bridge</a> to communicate with <a href="http://git.gnome.org/browse/at-spi2-core/tree/registryd" rel="nofollow">the AT-SPI registry</a>. This means that if you use standard <a title="GTK+" href="http://www.gtk.org">GTK+</a> widgets only, your application will be accessible out-of-the-box. On the contrary, should you use custom widgets, you&#8217;ll probably have to write custom <a title="AtkObject" href="http://developer.gnome.org/atk/stable/AtkObject.html">ATK objects</a> implementing the proper <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> interfaces to make them accessible too.</p>
<p>So that&#8217;s all so far, when it comes to <a title="GTK+" href="http://www.gtk.org">GTK+</a> applications. Check the following diagram for a more detailed look at all these hierarchies for a hypothetical <a title="GTK+" href="http://www.gtk.org">GTK+</a> application exposing information and a screen reader accessing it:</p>
<p><a href="http://mariospr.org/2013/02/03/accessibility-in-webkitgtk/gtk-a11y/" rel="attachment wp-att-1442"><img class="aligncenter size-large wp-image-1442" alt="Accessibility in GTK+ applications: a specific example" src="http://mariospr.org/wp-content/uploads/2013/02/gtk-a11y-600x259.png" width="584" height="252" /></a>As you can see, there&#8217;s an <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> tree matching the <a title="GTK+" href="http://www.gtk.org">GTK+</a> hierarchy, and another <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a> tree matching the <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> one. Finally, the screen reader accesses the information through that <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a> tree, as explained above.</p>
<h3>Accessibility in WebKitGTK+</h3>
<p>Now that we already understand the basics of accessibility in <a title="GTK+" href="http://www.gtk.org">GTK+</a> applications, let&#8217;s add the bits specifically related to <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a>. Namely:</p>
<ul>
<li><strong>WebCore&#8217;s Accessibility Objects</strong></li>
<li><strong>WebKitGTK+ (ATK) wrappers</strong></li>
<li><strong>WebKit2GTK+ specific details</strong></li>
</ul>
<p>Again, a picture is usually better than just text, so here you have one too:</p>
<p><a href="http://mariospr.org/2013/02/03/accessibility-in-webkitgtk/wkgtk-a11y/" rel="attachment wp-att-1496"><img class="aligncenter size-large wp-image-1496" alt="Accessibility in WebKitGTK+" src="http://mariospr.org/wp-content/uploads/2013/02/wkgtk-a11y-600x259.png" width="584" height="252" /></a></p>
<p>In order to clarify it a bit more before explaining each point, let&#8217;s just say that  you&#8217;ll have to look in the dashed box named <em><a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore" rel="nofollow">WebCore</a> accessibility world</em>, where the hierarchy on the left (red &amp; orange) represent the<a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore" rel="nofollow"> </a><a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore/accessibility/" rel="nofollow">WebCore Accessibility objects</a>, while the one on the right (the green one) represents the <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore/accessibility/atk/" rel="nofollow">WebKitGTK+ ATK wrappers</a>.</p>
<p>With this in mind, let&#8217;s examine these three points in more depth:</p>
<p><strong>WebCore Accessibility objects</strong>:</p>
<p>Similar to <a href="http://git.gnome.org/browse/gtk+/tree/gtk/a11y" rel="nofollow">GTK&#8217;s Accessibility Implementation</a>, <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore" rel="nofollow">WebCore</a>&#8216;s accessibility objects are the implementation of an independent hierarchy exposing accessibility related information for objects present in a web page. As the mission of accessibility in <a title="WebKit" href="http://www.webkit.org">WebKit</a> is to expose information to users that are normally being rendered in the screen (as well as some other information that might be hidden to regular users), there is a tight relationship between this hierarchy and other ones in <a title="WebKit" href="http://www.webkit.org">WebKit</a>, such as the <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore/dom/">DOM tree</a> and the <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore/rendering/">Render Objects tree</a>.</p>
<p>This layer is meant to be platform-agnostic, so you won&#8217;t find much <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a> specific stuff here. Instead, you will find the implementation of the accessibility related specifications published by the <a title="World Wide Web Consortium" href="http://www.w3.org/">W3C</a>&#8216;s <a title="Web Accessibility Initiative" href="http://www.w3.org/WAI/">Web Accessibility Initiative (WAI)</a>, such as <a title="WAI-ARIA" href="http://www.w3.org/WAI/intro/aria.php">WAI-ARIA</a>.</p>
<p><strong>WebKitGTK+ ATK wrappers</strong>:</p>
<p>An <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a>-based implementation of an accessibility hierarchy where every <a title="AtkObject" href="http://developer.gnome.org/atk/stable/AtkObject.html">ATK object</a> will take care of wrapping the proper accessibility object from <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore" rel="nofollow">WebCore</a>, as well as implementing the proper <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> interfaces depending on the situation (e.g. the role of the <a title="WebCore Accessibility Object" href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore/accessibility/AccessibilityObject.h">WebCore accessibility object</a>, some properties coming from the associated <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore/rendering/">Render Object</a>&#8230;).</p>
<p>The <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> hierarchy created here is connected with the <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> hierarchy from the embedding application (normally a <a title="GTK+" href="http://www.gtk.org">GTK+</a> app) by setting the root <a title="AtkObject" href="http://developer.gnome.org/atk/stable/AtkObject.html">ATK object</a> in this tree (normally representing <a title="The DOM" href="http://www.w3.org/DOM/">DOM</a>&#8216;s root element) as the child of the leaf <a title="AtkObject" href="http://developer.gnome.org/atk/stable/AtkObject.html">ATK object</a> in the tree coming from the embedding application (normally the <a href="http://developer.gnome.org/gtk3/stable/GtkWidget.html">GtkWidget</a> containing the <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebKit/gtk/webkit/webkitwebview.h">WebView</a>).</p>
<p>As is the case with any other regular <a title="GTK+" href="http://www.gtk.org">GTK+</a> application, this <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> hierarchy will finally be seen by <em>ATs</em> thanks to the translation that the <a href="http://git.gnome.org/browse/at-spi2-atk/" rel="nofollow">ATK &lt;-&gt; AT-SPI bridge</a> will do for us, making the whole <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> tree from the <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a> based application (from the top level <a title="GTK+" href="http://www.gtk.org">GTK+</a> window down to the deepest accessibility object inside <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore" rel="nofollow">WebCore</a>) available to <a href="http://git.gnome.org/browse/at-spi2-core/tree/registryd" rel="nofollow">the AT-SPI registry</a> by means of <a title="D-Bus" href="http://www.freedesktop.org/wiki/Software/dbus">D-Bus</a>.</p>
<p><strong>WebKit2GTK+ specific details</strong>:</p>
<p>I already talked about this <a title="Accessibility support in WebKit2GTK+" href="http://mariospr.org/2012/01/27/accessibility-support-in-webkit2gtk/">in</a> <a title="WebKitGTK+ Hackfest: WK2, a11y and Ephiphany’s ad blocker extension" href="http://mariospr.org/2011/12/06/webkitgtk-hackfest-wk2-a11y-and-ephiphanys-ad-blocker/">previous</a> <a title="Orca and WebKit2GTK+: initial results" href="http://mariospr.org/2011/11/11/orca-and-webkit2gtk-initial-results/">posts</a>, so I will focus here just on commenting the main difference compared to the generic case for <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a> described earlier (see previous diagram above):</p>
<p><a title="WebKit2GTK+" href="http://webkitgtk.org/reference/webkit2gtk/unstable/index.html">WebKit2GTK+</a> implements a split-process model, where the  high level API belongs to one process (the <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebKit2/UIProcess/"><em>UI process</em></a>) while the core logic of the web engine lives in another one (the <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebKit2/WebProcess/"><em>Web process</em></a>).</p>
<p>From an accessibility point of view, this means that the full hierarchy of <a title="AtkObject" href="http://developer.gnome.org/atk/stable/AtkObject.html">ATK objects</a> we had before is also split in two parts: some accessibility objects are now in the <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebKit2/UIProcess/"><em>UI process</em></a> and the rest of them will be in the <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebKit2/WebProcess/"><em>Web process</em></a>.</p>
<p>To be more specific, we&#8217;ll find the following objects in each process:</p>
<ul>
<li><strong><em>UI Process</em></strong>: basically, the <a title="AtkObject" href="http://developer.gnome.org/atk/stable/AtkObject.html">ATK object</a> associated with the <a href="http://developer.gnome.org/gtk3/stable/GtkWidget.html">GtkWidget</a> provided by <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a>, that is, the <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h">WebView</a>.</li>
<li><strong><em>Web Process</em></strong>: the whole hierarchy of <a title="AtkObject" href="http://developer.gnome.org/atk/stable/AtkObject.html">ATK objects</a> wrapping the accessibility objects from <a href="https://svn.webkit.org/repository/webkit/trunk/Source/WebCore" rel="nofollow">WebCore</a>.</li>
</ul>
<p>As <a title="Blog post: WebKit Contributors Meeting, sockets &amp; plugs" href="http://mariospr.org/2011/05/05/webkit-contributors-meeting-sockets-plugs/">I explained previously</a>, these two <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a> hierarchies will be seen as a single accessibility hierarchy by <em>ATs</em> thanks to the &#8220;magic&#8221; of <a title="AtkPlug" href="http://developer.gnome.org/atk/stable/atk-AtkPlug.html">AtkPlug</a> and <a title="AtkSocket" href="http://developer.gnome.org/atk/stable/atk-AtkSocket.html">AtkSocket</a> classes, which takes care of exposing everything together in a single <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a> tree. And remember that such a tree is modelled by means of <a title="D-Bus" href="http://www.freedesktop.org/wiki/Software/dbus">D-Bus</a>, so it does not matter that things are actually in different processes.</p>
<p>Thus, since <em>ATs</em> just<em> </em> understand <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a>, they will see The Right Thing &#8482; as in the previous case where we have one single process. See the following diagram for a more visual explanation of this:</p>
<p><a href="http://mariospr.org/2013/02/03/accessibility-in-webkitgtk/wk2gtk-a11y/" rel="attachment wp-att-1447"><img class="aligncenter size-large wp-image-1447" alt="Accessibility in WebKit2GTK+" src="http://mariospr.org/wp-content/uploads/2013/02/wk2gtk-a11y-600x335.png" width="584" height="326" /></a></p>
<h3>Wrapping up</h3>
<p>So that&#8217;s it. At the end the post turned out to be longer than what I was expecting, as my initial idea was to publish the stuff I wrote internally at <a title="SERI UK" href="http://www.linkedin.com/company/samsung-electronics-research-institute">Samsung</a> this week, but ended up extending it quite a lot!</p>
<p>At least I hope this will be helpful for anyone willing to contribute to accessibility, either in <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a> or in a more general way.</p>
<p>After all, most of the stuff I talked about here applies to  every accesible <a title="GTK+" href="http://www.gtk.org">GTK+</a> application: <a href="http://en.wikipedia.org/wiki/Assistive_technology" rel="nofollow">Assistive Technologies (<em>ATs</em>)</a>, <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/atk/at-spi/at-spi_on_d-bus" rel="nofollow">AT-SPI</a>, <a href="http://developer.gnome.org/atk/stable/index.html" rel="nofollow">ATK</a>, the <a href="http://git.gnome.org/browse/at-spi2-atk/" rel="nofollow">ATK &lt;-&gt; AT-SPI bridge</a>&#8230;</p>
<p>Last, I would like to thanks <a title="Joanmarie Diggs's blog" href="http://blog.grain-of-salt.com/">Joanmarie Diggs</a> from <a title="Igalia" href="http://www.igalia.com">Igalia</a> for her help with this blog post. One certainly feels more confident writing a long article like this one about a very specific topic when you have one of the most experienced persons on the matter reviewing it!</p>
]]></content:encoded>
			<wfw:commentRss>http://mariospr.org/2013/02/03/accessibility-in-webkitgtk/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>My first week at SERI</title>
		<link>http://mariospr.org/2013/01/12/my-first-week-at-seri/</link>
		<comments>http://mariospr.org/2013/01/12/my-first-week-at-seri/#comments</comments>
		<pubDate>Sat, 12 Jan 2013 02:11:05 +0000</pubDate>
		<dc:creator>mario</dc:creator>
				<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet GPUL]]></category>
		<category><![CDATA[Planet WebKitGTK]]></category>
		<category><![CDATA[Planeta GNOME Hispano]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[WebKitGTK+]]></category>

		<guid isPermaLink="false">http://mariospr.org/?p=1381</guid>
		<description><![CDATA[So, after almost 3 months of &#8220;holidays&#8221;, I&#8217;ve finally started working on my new job this Tuesday in Samsung Electronics Research Institute UK (aka SERI), where I&#8217;ll join a team mainly working in A/V and DTV related stuff while, at the &#8230; <a href="http://mariospr.org/2013/01/12/my-first-week-at-seri/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>So, after <a title="Moving On" href="http://mariospr.org/2012/11/19/moving-on/">almost 3 months of &#8220;holidays&#8221;</a>, I&#8217;ve finally started working on my new job this Tuesday in <a title="Samsung Electronics Research &amp; Development" href="http://www.samsung.com/hk_en/aboutsamsung/ourbusinesses/researchdevelopment.html">Samsung Electronics Research Institute UK</a> (<em>aka</em> <a title="SERI UK" href="http://www.linkedin.com/company/samsung-electronics-research-institute">SERI</a>), where I&#8217;ll join a team mainly working in <a title="Audiovisuals" href="http://en.wikipedia.org/wiki/Audiovisual">A/V</a> and <a title="Digital TV" href="http://en.wikipedia.org/wiki/Digital_television">DTV</a> related stuff while, at the same time, I&#8217;ll keep contributing to <a title="WebKit" href="http://www.webkit.org">WebKit</a> and <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a>.</p>
<p><a title="Samsung Smart TV Unveils New Smart Hub by samsungtomorrow, on Flickr" href="http://www.flickr.com/photos/samsungtomorrow/8308302453/"><img alt="Samsung Smart TV Unveils New Smart Hub" src="http://farm9.staticflickr.com/8354/8308302453_0c25156a87_m.jpg" width="240" height="171" align="right" /></a>As you can imagine, being the first week means that I mostly spent my time learning a lot of stuff about my new job and the tools I&#8217;d be using, as well as setting up my development environment and getting to know my colleagues and the things we&#8217;ll be working on.</p>
<p>But for the time being I have to say that my first impression has already been very positive and that I&#8217;m enthusiastically looking at the future and what it&#8217;s going to be next. Surely it will be a very different experience compared to <a title="Igalia" href="http://www.igalia.com">what I was used to</a>, but in a way that&#8217;s precisely what I was looking for, and so that&#8217;s why I feel very optimistic and motivated about it.</p>
<p>Also, and besides work related stuff, being a new resident in the <a title="United Kingdom" href="http://en.wikipedia.org/wiki/United_Kingdom">UK</a> also means that I had to spend some time doing some additional things, such as creating a bank account, getting a <a title="United Kingdom" href="http://en.wikipedia.org/wiki/United_Kingdom">UK</a>-based SIM card and starting to look for a place that should become our permanent residence in 2-3 months time, once my wife and my children move as well to the <a title="United Kingdom" href="http://en.wikipedia.org/wiki/United_Kingdom">UK</a> (they&#8217;re still in <a title="Spain" href="http://en.wikipedia.org/wiki/Spain">Spain</a>), hopefully before Easter. Fortunately, being a EU citizen simplifies a lot the whole thing of coming here to work, since I don&#8217;t need any <a title="Visa" href="http://en.wikipedia.org/wiki/Visa_(document)">VISA</a> or the like. Just my Spanish ID and/or Passport are more than enough.</p>
<p>Anyway, I&#8217;ve just arrived in the <a title="United Kingdom" href="http://en.wikipedia.org/wiki/United_Kingdom">UK</a> on Monday and started working on Tuesday (yeah, I love having big margins) so still much to do left, but I&#8217;m already on my way so it&#8217;s a matter of time that we are settled here, and that we start living the &#8220;English adventure&#8221; all together again.</p>
<p>But in the meanwhile we&#8217;ll have to live with me visiting them every 2-3 weeks and the typical audio/video conference tools.</p>
<p>Can&#8217;t wait!</p>
]]></content:encoded>
			<wfw:commentRss>http://mariospr.org/2013/01/12/my-first-week-at-seri/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Frogr 0.8 released</title>
		<link>http://mariospr.org/2012/12/29/frogr-0-8-released/</link>
		<comments>http://mariospr.org/2012/12/29/frogr-0-8-released/#comments</comments>
		<pubDate>Sat, 29 Dec 2012 18:15:49 +0000</pubDate>
		<dc:creator>mario</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[frogr]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet GPUL]]></category>
		<category><![CDATA[Planeta GNOME Hispano]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://mariospr.org/?p=1239</guid>
		<description><![CDATA[During the last weeks, I decided to make the most of some spare time I had while still in &#8220;nowhere land&#8221; (see my previous post) and so I&#8217;ve been working in frogr to see if I could release the 0.8 &#8230; <a href="http://mariospr.org/2012/12/29/frogr-0-8-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>During the last weeks, I decided to make the most of some spare time I had while still in &#8220;nowhere land&#8221; (see <a title="Moving On" href="http://mariospr.org/2012/11/19/moving-on/">my previous post</a>) and so I&#8217;ve been working in <a title="frogr website" href="https://live.gnome.org/Frogr">frogr</a> to see if I could release the 0.8 version before the end of the year. In my mind it looked like kind of a nice and humble Christmas present to the world and, at the same time, a interesting way to spent this time I had between my depart from <a title="Igalia" href="http://www.igalia.com">my previous job</a> and the start of the new one.</p>
<p>And it turns out that, at the end, I didn&#8217;t manage to have as much spare time as I initially expected to have (I was pretty busy most of the time, actually), mainly due to many unrelated things I needed also to take care of, but in the end I still managed to steal some minutes here and there and I&#8217;m now proudly announcing that <a title="Announcement mail for frogr 0.8" href="https://mail.gnome.org/archives/frogr-list/2012-December/msg00002.html">the new release is finally out</a>.</p>
<p>But before going on, see the mandatory screenshot, as taken in my <a title="Fedora project" href="http://fedoraproject.org/">Fedora</a> 18 machine:<br />
<a href="http://mariospr.org/2012/12/29/frogr-0-8-released/20121226-frogr-screenshot-2/" rel="attachment wp-att-1257"><img class="aligncenter size-large wp-image-1257" title="Frogr 0.8" src="http://mariospr.org/wp-content/uploads/2012/12/20121226-frogr-screenshot1-600x375.png" alt="" width="584" height="365" /></a></p>
<p>As you can already spot in the screenshot, some changes are already quite visible, but some others are not, so let&#8217;s now comment on the most important ones, one by one&#8230;</p>
<h3>Ported to GtkApplication and GMenu</h3>
<p><a href="http://mariospr.org/2012/12/29/frogr-0-8-released/20121226-frogr-menus/" rel="attachment wp-att-1261"><img class="aligncenter size-large wp-image-1261" title="Frogr 0.8: Ported to GMenu" src="http://mariospr.org/wp-content/uploads/2012/12/20121226-frogr-menus-600x145.png" alt="" width="584" height="141" /></a></p>
<p>It&#8217;s no secret that one of my favourite changes in this release is the integration with <a title="GNOME 3" href="http://www.gnome.org/gnome-3/">GNOME 3</a>&#8216;s &#8220;global menu&#8221; (aka the <em>application menu</em>), which makes <a title="frogr website" href="https://live.gnome.org/Frogr">frogr</a> more beatifully integrated with the desktop than ever. However that came with a price: I needed to port <a title="frogr website" href="https://live.gnome.org/Frogr">frogr</a> to <a title="GtkApplication" href="http://developer.gnome.org/gtk3/3.4/GtkApplication.html">GtkApplication</a> first and then implement both the application menu and the menu bar using <a title="GMenu" href="http://developer.gnome.org/gio/2.32/GMenu.html">GMenu</a>, which also made me raise the required version for <a title="GTK+" href="http://www.gtk.org">GTK+</a> up to 3.4.</p>
<p>Sure I could have kept adding more <em>ifdefs</em> to the code to keep supporting previous <a title="GTK+" href="http://www.gtk.org">GTK+</a> versions, but I also saw this as a good opportunity to clean up the code and get rid of so many conditional compilation units that were increasingly harder to maintain, and so I did it. As a plus, the <a title="OS X" href="http://en.wikipedia.org/wiki/OS_X">OS X</a> specific code has been reduced enormously as well, since <a title="GTK+" href="http://www.gtk.org">GTK+</a> 3.4 integrates very well with <a title="OS X" href="http://en.wikipedia.org/wiki/OS_X">OS X</a> without having to do anything special, as I needed to do when I used <a title="GTK+" href="http://www.gtk.org">GTK+</a> 2.24 for that port.</p>
<h3>Loading and saving &#8216;projects&#8217;</h3>
<p><a href="http://mariospr.org/2012/12/29/frogr-0-8-released/20121226-frogr-projects/" rel="attachment wp-att-1262"><img class="aligncenter size-large wp-image-1262" title="Frogr 0.8: Support for projects" src="http://mariospr.org/wp-content/uploads/2012/12/20121226-frogr-projects-600x145.png" alt="" width="584" height="141" /></a></p>
<p>This has been one of the features that several people have suggested in the past in different occasions, and so one of those I hope people will enjoy the most with this new release: the possibility to save the current session into a &#8220;project file&#8221;, so you can resume your work later.</p>
<p>How it works it&#8217;s actually pretty simple: when you save a session to a project, <a title="frogr website" href="https://live.gnome.org/Frogr">frogr</a> will just serialize your current pictures, sets, groups and local tags to a json file (using <a title="json-glib" href="https://live.gnome.org/JsonGlib/"><em>json-glib</em></a>) that you can use to restore the state later. It could be more sophisticated, but I think that it works reasonably well in the tests I did considering what it was designed for. In any case, please feel free to report bugs or feature requests to improve or fix things if needed.</p>
<h3>Support for video uploads</h3>
<p><a href="http://mariospr.org/2012/12/29/frogr-0-8-released/20121226-frogr-videos/" rel="attachment wp-att-1263"><img class="aligncenter size-large wp-image-1263" title="Frogr 0.8: support for video uploads" src="http://mariospr.org/wp-content/uploads/2012/12/20121226-frogr-videos-600x145.png" alt="" width="584" height="141" /></a></p>
<p>Believe it or not, <a title="frogr website" href="https://live.gnome.org/Frogr">frogr</a> has been <em>almost</em> ready to upload videos since some time ago, since for <a title="Flickr" href="http://www.flickr.com">Flickr</a> a video is just a &#8220;moving picture&#8221;, and it&#8217;s <a title="Videos in the flickr API" href="http://code.flickr.net/2008/05/01/videos-in-the-flickr-api/">treated in exactly the same way than pictures</a> when it comes to the <a title="Flickr's upload API" href="http://www.flickr.com/services/api/upload.api.html">upload API</a>.</p>
<p>The only thing that was missing to remove that <em>almost</em> from here was to generate thumbnails for videos so they could get loaded into the UI. Not rocket science, sure, but something which needed doing and which was not a priority at all until now. And to be honest, it is not a priority yet anyway, but I felt like doing it this time once and for all, so from now on you can upload videos too.</p>
<h3>Other features &amp; bug fixes</h3>
<p>Besides those three and perhaps more noticeable features, <a title="frogr website" href="https://live.gnome.org/Frogr">frogr</a> 0.8 comes with several other new things, bug fixes, small changes and refinement that I hope will make this release more stable, useful and fun to use than ever.</p>
<p><a href="http://mariospr.org/2012/12/29/frogr-0-8-released/20121226-frogr-maximized/" rel="attachment wp-att-1264"><img class="aligncenter size-large wp-image-1264" title="Frogr 0.8: hide title bar when maximized" src="http://mariospr.org/wp-content/uploads/2012/12/20121226-frogr-maximized-600x145.png" alt="" width="584" height="141" /></a></p>
<p>Some examples of those other new things are, as taken from <a title="Frogr's NEWS file" href="http://git.gnome.org/browse/frogr/plain/NEWS">the NEWS file</a>:</p>
<ul>
<li>Handle and report errors in a better way (no more mysterious failures).</li>
<li>Perform after-upload operations (add to sets/groups, set license&#8230;) in parallel.</li>
<li>Avoid fetching sets/groups/tags when still not connected yet to <a title="Flickr" href="http://www.flickr.com">Flickr</a>.</li>
<li>Hide title bar when main window is maximized (see screenshot above).</li>
<li>Renamed the &#8216;Actions&#8217; menu to &#8216;Edit&#8217; and brought the &#8216;File&#8217; menu back.</li>
<li>Allow sorting elements in the icon view by size.</li>
</ul>
<p>Last, I&#8217;m also quite happy to tell that the <a title="OS X" href="http://en.wikipedia.org/wiki/OS_X">OS X</a> port of <a title="frogr website" href="https://live.gnome.org/Frogr">frogr</a> has been finally migrated to <a title="GTK+" href="http://www.gtk.org">GTK+</a> 3 in this release (at last!), <strong>and</strong> that the whole process of building it for that platform is now easier than ever, thanks to a specific <a title="Jhbuild" href="https://live.gnome.org/Jhbuild">Jhbuild</a> <a title="Frogr's moduleset for OS X" href="http://git.gnome.org/browse/frogr/plain/osx/jhbuild/frogr.modules">moduleset I created for that purpose</a>, following <a title="GEdit's moduleset for OS X" href="http://git.gnome.org/browse/gedit/plain/osx/jhbuild/gedit.modules">the lead of GEdit</a> (thanks <a title="Nacho's blog" href="http://blogs.gnome.org/nacho/">Nacho</a> for the suggestion).</p>
<p>Check out the <a title="README file to build frogr for OS X" href="http://git.gnome.org/browse/frogr/plain/osx/README">README</a> file in the <a title="osx/ directory" href="http://git.gnome.org/browse/frogr/tree/osx">osx/ directory</a> if you feel curious about the process or if you want to build it yourself. It shouldn&#8217;t take more than 2-3 commands in the terminal to get something like this running in your <a title="OS X" href="http://en.wikipedia.org/wiki/OS_X">OS X</a> machine:</p>
<p><a href="http://mariospr.org/2012/12/29/frogr-0-8-released/20121226-frogr-screenshot-osx/" rel="attachment wp-att-1255"><img class="aligncenter size-large wp-image-1255" title="Frogr 0.8 for Mac OS X" src="http://mariospr.org/wp-content/uploads/2012/12/20121226-frogr-screenshot-osx-600x375.png" alt="" width="584" height="365" /></a></p>
<p>Also, another advantage of having that moduleset created, is that now it&#8217;s trivial to properly document (by means of <a title="generate-SOURCES script" href="http://git.gnome.org/browse/frogr/plain/osx/generate-SOURCES">a shell script</a>) the bundle file used to distribute <a title="frogr website" href="https://live.gnome.org/Frogr">frogr</a> in <a title="OS X" href="http://en.wikipedia.org/wiki/OS_X">OS X</a>, instead of just providing an &#8220;opaque&#8221; pre-compiled bundle, as I used to do in an &#8220;unofficial way&#8221; with previous versions. Feel free to <strong>grab the bundle</strong> I&#8217;ve just created for this release <a title="Frogr 0.8 for Mac OS X" href="http://ftp.gnome.org/pub/gnome/binaries/mac/frogr/0.8/">from the GNOME FTP server</a>.</p>
<p>So that&#8217;s it. I hope you enjoy using <a title="frogr website" href="https://live.gnome.org/Frogr">frogr</a> 0.8 as much as I did writing it, and if you eventually find it useful too, then even better! As usual, check <a title="Frogr's website" href="https://live.gnome.org/Frogr">the website of the project</a> for additional information or just to know <a title="Get frogr" href="https://live.gnome.org/Frogr#Get_Frogr">how to install frogr on your system</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mariospr.org/2012/12/29/frogr-0-8-released/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Moving On</title>
		<link>http://mariospr.org/2012/11/19/moving-on/</link>
		<comments>http://mariospr.org/2012/11/19/moving-on/#comments</comments>
		<pubDate>Mon, 19 Nov 2012 11:38:11 +0000</pubDate>
		<dc:creator>mario</dc:creator>
				<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet GPUL]]></category>
		<category><![CDATA[Planet WebKitGTK]]></category>
		<category><![CDATA[Planeta GNOME Hispano]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://mariospr.org/?p=1109</guid>
		<description><![CDATA[Two months ago it was an important day for me. It was the day that I finally told my partners at Igalia that I&#8217;d be leaving the company, after almost seven years. It hasn&#8217;t been an easy decision to make and &#8230; <a href="http://mariospr.org/2012/11/19/moving-on/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Two months ago it was an important day for me. It was the day that I finally told my partners at <a href="http://www.igalia.com">Igalia</a> that I&#8217;d be leaving the company, after almost seven years. It hasn&#8217;t been an easy decision to make and so this hasn&#8217;t been an easy post to write either&#8230; yet one I&#8217;d like to write anyway.</p>
<p>But let&#8217;s push the rewind button for a moment now&#8230;</p>
<p><a href="http://www.igalia.com"><img class="alignright size-thumbnail wp-image-1202" title="Igalia logo" src="http://mariospr.org/wp-content/uploads/2012/11/igalia-logo-150x150.png" alt="" width="150" height="150" /></a>I&#8217;ve joined <a href="http://www.igalia.com">Igalia</a> on November 2005, initially as a trainee while I was finishing my studies of Computer Science Engineering, and got quickly hooked by the company, the people that was part of it back then and the kind of project they were trying to build.</p>
<p><a href="http://www.igalia.com">Igalia</a> as a company is one of a kind, you can be sure of it, and I felt enormously lucky for having found it and having been granted with the privilege of being part of it. And best of all&#8230; it happened to have its main office in my own town! I just couldn&#8217;t believe it&#8230;</p>
<p>I even still recall now how many mates of mine in the Faculty were telling me, back in the days of the University, things like <em>&#8220;that Linux thing you like so much is not worth it&#8221;</em>, <em>&#8220;forget about Open Source, you won&#8217;t ever make a living out of it&#8221;</em> or even <em>&#8220;well, maybe there&#8217;s a chance for you to work on that, but it&#8217;s definitely not going to happen here&#8221;</em>.</p>
<p>I have to say I never believed much in any of those statements <strong></strong>(well, maybe a bit the last one), but I swear I couldn&#8217;t have ever imagined that I&#8217;d be able to prove all of them wrong at the same time without even having to move out of the country, let alone the town.</p>
<p>It was too good to be true. But it was true and real&#8230; it definitely was real.</p>
<p>And turns out that what started as a 3-month internship in late 2005, became my first permanent job (and the only one so far) when I became a regular employee on February 2006, to finally become a partner of the company in 2010. Not bad.</p>
<p>I worked on many different projects across all these years, from system administration tasks and pure web development to application development over the <a href="http://www.gnome.org">GNOME</a> and the <a href="http://www.maemo.org">Maemo</a> platforms, to end up working on what it probably became the most challenging and interesting thing I&#8217;ve ever worked on: the <a href="http://www.webkit.org">WebKit</a> project and, more specifically, the <a href="http://www.webkitgtk.org">WebKitGTK+</a> port.</p>
<p>Additionally, I also met a lot of awesome people while there, both inside <a href="http://www.igalia.com">Igalia</a> and outside (e.g. at conferences), in some cases  becoming closer to &#8220;actual friends&#8221; than to &#8220;just work mates&#8221;, which is yet another great thing I will always feel lucky and grateful for.</p>
<p>In other words, I grew up there, both at the professional and the personal level, and I feel endlessly grateful for that. I&#8217;m sure my life wouldn&#8217;t have been the same now without that stage in my life, so I don&#8217;t have more than good words and thoughts about it.</p>
<p>However, and even if I still think <a href="http://www.igalia.com">Igalia</a> is an awesome place to be part of, I&#8217;ve been lately feeling like I needed a change, to try something new, to move on&#8230;</p>
<p>I&#8217;m not sure about how much that could be related to the fact that my life is now quite different than seven years ago, and that perhaps my priorities could have shifted now I have my own family, but the fact is that at some point I very clearly saw that I would need to try something else, to change some things and patterns in my life, kind of a &#8220;fresh restart&#8221;.</p>
<p>And after so much thinking, I suddenly realized such a  change couldn&#8217;t ever happen if I stayed in <a href="http://www.igalia.com">Igalia</a>, since it would probably require that the company stopped being as it is in some ways. And that&#8217;s something I don&#8217;t think I should ask for &#8220;just because I felt that way&#8221;. That would be too selfish, don&#8217;t you think?</p>
<p>So I made the only decision I thought it made sense: to quit.</p>
<p>Sure it was hard, and even tough at some moments, to make such a decision. But once I made it for real, I have to say I felt very well about it, as if everything was making sense once again, as if the puzzle I was trying so hardly to solve was finally complete.</p>
<p>In any case, this doesn&#8217;t mean I want to work on something completely different either. In my lollipop world, my plan is to keep working around the Open Source world as much as possible, hopefully also around <a href="http://www.gnome.org">GNOME</a> and <a href="http://www.webkit.org">WebKit</a>, the two platforms I learned to love during these years. Well, actually for the case of <a href="http://www.gnome.org">GNOME</a> I must say it&#8217;s a platform I already loved before joining <a href="http://www.igalia.com">Igalia</a>, but I can&#8217;t deny that being part of that company played a major role to help me get more involved on it, so that&#8217;s why I think it deserves some credit.</p>
<p>Fortunately, I&#8217;m a lucky guy and I can already say that, just two months after making that decision and starting looking for new opportunities, I already found a job where I think I&#8217;ll be able to keep working in what I love (see paragraph above) while, at the same time, being also able to try something different and new compared to what I&#8217;ve done so far.</p>
<p>Additionally, I think this new job will also help me find answers to the questions that have been crossing my mind lately, let alone learning new stuff&#8230; I&#8217;m sure I&#8217;ll learn a lot of new stuff as well, something I already can&#8217;t wait for.</p>
<p>Anyway, I won&#8217;t start working there until January, so let&#8217;s go step by step.</p>
<p>First I needed to write this post to tell the world about my new situation (check). Second, I need to use these &#8220;two months in nowhere&#8221; to re-organize my life and arrange many different things related to the short-term (work in progress). Finally, I&#8217;ll start that new stage in my life and finally announce here where I&#8217;m going to, something I&#8217;d rather keep for another post.</p>
<p>Surely I know all this will mean big challenges for both me and my family (we&#8217;ll be moving abroad, to begin with), but those are challenges we&#8217;re willing to face and can&#8217;t wait for. In a way, I kind of feel like I did 7 years ago right before joining <a href="http://www.igalia.com">Igalia</a>, when I just finished my studies at the University and still had no clue what I was going to do with my life. Back then, the future looked uncertain and full of opportunities at the same time, and if I now look backwards I can clearly see it was even better than what I&#8217;ve would ever have expected. Really.</p>
<p>And you know what? That&#8217;s exactly how I feel right now, and that&#8217;s a feeling I&#8217;m liking a lot. And believe me, I&#8217;m pretty much aware that my current situation (married and with two children) is quite different compared to 7 years ago. Yet it doesn&#8217;t scare me well enough not to feel thrilled about this new stage in our life, a stage I&#8217;m already eager to deal with.</p>
<p>So it&#8217;s time to move on. I won&#8217;t ever forget the great time I had at <a href="http://www.igalia.com">Igalia</a>, all the people I met here and all the good things that being part of such an special company brought to my life, but I also think now it&#8217;s time to look forward and focus on the future.</p>
<p>I have the most amazing family in the world and we&#8217;ll be together on this through thick and thin, so I&#8217;m already sure we&#8217;ll be fine. It&#8217;s just a matter of time we&#8217;ll get there, so what else can I ask for?</p>
<p>Just wish us good luck. That should do the rest <img src='http://mariospr.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://mariospr.org/2012/11/19/moving-on/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>WebKitGTK+ 1.10 is almost here!</title>
		<link>http://mariospr.org/2012/09/14/webkitgtk-1-10-is-almost-here/</link>
		<comments>http://mariospr.org/2012/09/14/webkitgtk-1-10-is-almost-here/#comments</comments>
		<pubDate>Fri, 14 Sep 2012 15:38:27 +0000</pubDate>
		<dc:creator>mario</dc:creator>
				<category><![CDATA[Epiphany]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet GPUL]]></category>
		<category><![CDATA[Planet Igalia]]></category>
		<category><![CDATA[Planet WebKitGTK]]></category>
		<category><![CDATA[Planeta GNOME Hispano]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[WebKit2]]></category>
		<category><![CDATA[WebKitGTK+]]></category>

		<guid isPermaLink="false">http://mariospr.org/?p=1063</guid>
		<description><![CDATA[As you might already know, the new and shiny 3.6 release of the GNOME desktop is right around the corner, and so it&#8217;s the next release of WebKitGTK+, the port of the WebKit web rendering engine to the GTK+ platform. &#8230; <a href="http://mariospr.org/2012/09/14/webkitgtk-1-10-is-almost-here/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>As you might already know, the new and shiny 3.6 release of the <a title="The GNOME project" href="http://www.gnome.org">GNOME</a> desktop is <a title="GNOME 3.5.x development series" href="https://live.gnome.org/ThreePointFive">right around the corner</a>, and so it&#8217;s the next release of <a title="WebKitGTK+" href="http://wwww.webkitgtk.org">WebKitGTK+</a>, the port of the <a title="The WebKit project" href="http://www.webkit.org">WebKit</a> web rendering engine to the <a title="The GTK+ platform" href="http://www.gtk.org">GTK+</a> platform.</p>
<p>And it turns out that such a release is going to be a very special one for us, members of the <a title="Igalia WebKit team" href="http://www.igalia.com/webkit/">WebKit team</a> at <a title="Igalia" href="http://www.igalia.com">Igalia</a>,  since it comes with some very interesting features, like those I already mentioned in the <a title="WebKitGTK+: current status and roadmap" href="http://mariospr.org/talks/guadec2012-webkitgtk">talk I gave during the past GUADEC</a>, mainly:</p>
<ul>
<li>Beta version of the <strong><em>WebKit2GTK+ API</em></strong></li>
<li>Support for <em><strong>Accelerated Compositing</strong></em></li>
<li><em><strong>WebGL</strong></em> enabled by default</li>
<li>Support for <strong>HTML5</strong> Fullscreen and <strong>WebAudio</strong></li>
<li>Multimedia layer ported to <strong>GStreamer 0.11</strong></li>
<li>Support for the <strong>Low-Level Interpreter</strong> in JavaScriptCore</li>
</ul>
<p>From all those, I&#8217;m specially happy because we will be finally releasing the very first beta version of the new <strong><em>WebKit2GTK+ API</em></strong>, based in the multi-process architecture of <a title="WebKit2" href="http://trac.webkit.org/wiki/WebKit2">WebKit2</a>, as well as providing support for <strong><em>Accelerated Compositing</em></strong> and <strong><em>WebGL</em></strong>.</p>
<p>This new <em><a title="WebKit2GTK+ API" href="http://webkitgtk.org/reference/webkit2gtk/unstable/index.html">WebKit2GTK+ API</a></em>, as you perhaps already know, will allow applications gain the split process model of <a title="WebKit2" href="http://trac.webkit.org/wiki/WebKit2">WebKit2</a> out-of-the box, which is awesome. Xan already mentioned  some of the advantages of it becoming beta for <a title="The GNOME project" href="http://www.gnome.org">GNOME</a> 3.6 <a title="We are almost there: Web in 3.6.0" href="http://blogs.gnome.org/xan/2012/09/11/we-are-almost-there-web-in-3-6-0/">in his last post this week</a>, being my favorite ones the &#8220;<em>increased responsiveness and stability</em>&#8221; (quoting <a title="We are almost there: Web in 3.6.0" href="http://blogs.gnome.org/xan/2012/09/11/we-are-almost-there-web-in-3-6-0/">Xan</a>) that will come with it, as well as the fact that it will be not only powerful enough to port old applications and write new ones, but also simpler and easier to use (we are putting a lot of effort on <a title="WebKit2GTK+ Roadmap" href="http://trac.webkit.org/wiki/WebKitGTK/WebKit2Roadmap">this</a>).</p>
<p>And honestly, I think we are doing pretty well in that regard, even though there&#8217;s still a lot of work to do before we can release an stable version of this new API (due for <a title="WebKitGTK+" href="http://wwww.webkitgtk.org">WebKitGTK+</a> 2.0,  to be released with <a title="The GNOME project" href="http://www.gnome.org">GNOME</a> 3.8), which will also mean the very first version of <a title="Epiphany and WebKit2" href="http://blogs.igalia.com/carlosgc/2012/07/02/epiphany-and-webkit2/">Epiphany that will be using WebKit2 by default</a>.</p>
<p>With regard to <em>Accelerated Compositing </em>and <em>WebGL</em>, I&#8217;d just like to mention that having them supported in <a title="WebKitGTK+" href="http://wwww.webkitgtk.org">WebKitGTK+</a> from now on is great because it means you will be able to render visually stunning web content in your browser of choice (epiphany, huh?), as well as enjoy more subtle improvements such as smoother animations or increased responsivenes while browsing. You can visit this <a title="Accelerated compositing update" href="http://blog.abandonedwig.info/2012/07/accelerated-compositing-update.html">post by my mate Martin</a> for more details on this topic.</p>
<p>Anyway, all these are very nice words and all that, but sometimes it&#8217;s not that easy to properly understand <em>just with words</em> what exactly those <em>things</em> will actually mean for users, so I decided to spend some time today polishing a bit the videos I used as demos in my talk during <a title="GUADEC!" href="http://www.guadec.org">GUADEC</a>, and link them from here, so everyone can easily watch them now.</p>
<p>Hope you enjoy watching them as much as I did making them:</p>
<p style="text-align: center;"><iframe src="http://player.vimeo.com/video/49440927" frameborder="0" width="500" height="280"></iframe></p>
<p style="text-align: center;"><a href="http://vimeo.com/49440927">WebKitGTK+: WebGL and Accelerated Compositing</a></p>
<p style="text-align: center;"><iframe src="http://player.vimeo.com/video/49443843" frameborder="0" width="500" height="281"></iframe></p>
<p style="text-align: center;"><a href="http://vimeo.com/49443843">WebKit2GTK+: The UI and the Web process</a></p>
<p style="text-align: center;"><iframe src="http://player.vimeo.com/video/49446048" frameborder="0" width="500" height="281"></iframe></p>
<p style="text-align: center;"><a href="http://vimeo.com/49446048">WebKit2GTK+: The Plugin process</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mariospr.org/2012/09/14/webkitgtk-1-10-is-almost-here/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>mariospr.org</title>
		<link>http://mariospr.org/2012/08/24/mariospr-org/</link>
		<comments>http://mariospr.org/2012/08/24/mariospr-org/#comments</comments>
		<pubDate>Fri, 24 Aug 2012 17:45:03 +0000</pubDate>
		<dc:creator>mario</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet GPUL]]></category>
		<category><![CDATA[Planet Igalia]]></category>
		<category><![CDATA[Planet WebKitGTK]]></category>
		<category><![CDATA[Planeta GNOME Hispano]]></category>

		<guid isPermaLink="false">http://mariospr.org/?p=1022</guid>
		<description><![CDATA[I&#8217;ve been thinking for some time already of moving my six years old blog to a more personal domain, and turns out I did it last week moved by the fact that I already had to mess with web development, &#8230; <a href="http://mariospr.org/2012/08/24/mariospr-org/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been thinking for some time already of moving my six years old blog to a more personal domain, and turns out I did it last week moved by the fact that I already had to mess with web development, hostings and domains for a while again, in order to assist my brother-in-law with the set up of a new local business.</p>
<p>So, I finally went after some (quick) thinking for this <a title="My personal website" href="http://mariospr.org">mariospr.org</a> domain which I think it kinda makes sense considering I&#8217;m using <em>mariospr</em> in many places out there already.</p>
<p>One consequence of this change is that I hope I will write more often in my blog from now on, and not only about work-related stuff but also about some more personal things, experiences and the like. Still, I plan to keep using the &#8220;Planet [Name]&#8221; categories to control what I send to the planets I&#8217;m registered in, so if you want to keep track of those other kind of posts, make sure you visit or subscribe to the <a title="Feed for my personal website" href="http://mariospr.org/feed">blog&#8217;s feed URL</a>.</p>
<p>By the way, I would like to make the most of this post to say <em>thank you</em> to <a title="Lucas Rochas's website" href="http://lucasr.org">Lucas Rocha</a>, who have helped me quite a lot to set up this blog without even knowing it, simply by being a good &#8220;inspiration&#8221; for some decisions I needed to make during the migration process, such as the domain name I finally chose and the <a title="The Merriweather Web font" href="http://www.google.com/webfonts/specimen/Merriweather">font family for the text</a>, for instance.</p>
<p>I even tried <a href="https://github.com/lucasr/wp-lucasr">the sleek WordPress theme Lucas created</a>, although in this case I ended up  making my own slight modifications to the -also beautiful- <a href="http://wordpress.org/extend/themes/twentyeleven">TwentyEleven theme</a>, which I will publish as well at some point when the blog has really settled down.</p>
<p>Last, thanks also to my mates in <a title="Igalia" href="http://www.igalia.com">Igalia</a> who have already set up a redirect rule from the old address at <a title="Blogs at Igalia.com" href="http://blogs.igalia.com">blogs.igalia.com</a> to the new domain, and of course to the people who helped update the feed link in the different planets my blog is in, since that means that everything should be already working as expected, even if you&#8217;re still using the old <em>URLs</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mariospr.org/2012/08/24/mariospr-org/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GUADEC, WebKit and bikes</title>
		<link>http://mariospr.org/2012/07/20/guadec-webkit-and-bikes/</link>
		<comments>http://mariospr.org/2012/07/20/guadec-webkit-and-bikes/#comments</comments>
		<pubDate>Fri, 20 Jul 2012 17:24:30 +0000</pubDate>
		<dc:creator>mario</dc:creator>
				<category><![CDATA[a11y]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[Epiphany]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Hackfest]]></category>
		<category><![CDATA[Meetings and conferences]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet GPUL]]></category>
		<category><![CDATA[Planet Igalia]]></category>
		<category><![CDATA[Planet WebKitGTK]]></category>
		<category><![CDATA[Planeta GNOME Hispano]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[WebKit2]]></category>
		<category><![CDATA[WebKitGTK+]]></category>

		<guid isPermaLink="false">http://mariospr.org/?p=796</guid>
		<description><![CDATA[It seems this year GUADEC is going to be pretty close to my place and so I will surely attend, but this time I won&#8217;t go by plane but by bike, which since some months ago has become my main &#8230; <a href="http://mariospr.org/2012/07/20/guadec-webkit-and-bikes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.guadec.org"><img class="alignright" src="http://mariospr.org/wp-content/uploads/2012/07/guadec2012-logo.png" alt="I'm going to GUADEC" width="125" height="125" /></a>It seems this year <a title="GUADEC" href="http://www.guadec.org">GUADEC</a> is going to be pretty close to my place and so I will surely attend, but this time I won&#8217;t go by plane but by bike, which since some months ago has become my main vehicle for moving around the beautiful city where I live in: <a title="A Coruña" href="http://en.wikipedia.org/wiki/A_Coru%C3%B1a">A Coruña</a>.</p>
<p>Also, besides hanging around the venue and trying to help as much as possible as the local I am, I&#8217;ll be talking about <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a> in the <a title="WebKitGTK+: current status and roadmap" href="https://www.gpul.org/indico/contributionDisplay.py?contribId=32&amp;confId=0">afternoon on Thursday 26th</a>, so feel free to come round the room if you feel curious about the current status of the whole thing and the current plans for the short and medium term, which are mostly focused around <a title="WebKit2" href="http://trac.webkit.org/wiki/WebKit2">WebKit2</a> and the <a title="Roadmap to WebKit2GTK+" href="http://trac.webkit.org/wiki/WebKitGTK/WebKit2Roadmap">roadmap</a> we&#8217;re already following.</p>
<p>You probably already read some news related to this coming from my mates in the <a title="Igalia" href="http://www.igalia.com">Igalia</a> <a title="WebKit" href="http://www.webkit.org">WebKit</a> team, (like the improvements in <a title="Accelerated compositing update" href="http://blog.abandonedwig.info/2012/07/accelerated-compositing-update.html">Accelerated Compositing</a> or the <a title="Epiphany and WebKit2" href="http://blogs.igalia.com/carlosgc/2012/07/02/epiphany-and-webkit2/">migration of our handsome browser Epiphany to using WebKit2</a>), yet I will try to deliver an interesting talk to y&#8217;all. I just hope I&#8217;ll be able to do it (but please forgive me if I don&#8217;t).</p>
<p>So that&#8217;s it. As usual, just feel free to talk me if you see me around if you want. I&#8217;ll basically be around the venue most of the time during <a title="GUADEC" href="http://www.guadec.org">GUADEC</a>, and will attend <a title="BoFs in GUADEC 2012" href="https://live.gnome.org/GUADEC/2012/BOFs">a11y and WebKitGTK+ BoFs</a> on the 30th and 31st, so I&#8217;d say it will be pretty easy to find me.</p>
]]></content:encoded>
			<wfw:commentRss>http://mariospr.org/2012/07/20/guadec-webkit-and-bikes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebKit Watcher 0.2 released</title>
		<link>http://mariospr.org/2012/06/01/webkit-watcher-0-2-released/</link>
		<comments>http://mariospr.org/2012/06/01/webkit-watcher-0-2-released/#comments</comments>
		<pubDate>Fri, 01 Jun 2012 00:04:42 +0000</pubDate>
		<dc:creator>mario</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet GPUL]]></category>
		<category><![CDATA[Planet Igalia]]></category>
		<category><![CDATA[Planet WebKitGTK]]></category>
		<category><![CDATA[Planeta GNOME Hispano]]></category>
		<category><![CDATA[WebKit]]></category>
		<category><![CDATA[WebKit2]]></category>
		<category><![CDATA[WebKitGTK+]]></category>
		<category><![CDATA[WebKitWatcher]]></category>

		<guid isPermaLink="false">http://mariospr.org/?p=773</guid>
		<description><![CDATA[Some time ago I wrote a (very!) small android application to scratch an itch I had: being able to easily check the status of WebKit buildbots right from my phone, which turned out to be quite useful in some scenarios. &#8230; <a href="http://mariospr.org/2012/06/01/webkit-watcher-0-2-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Some time ago I wrote a (very!) <a title="WebKit Watcher 0.1 released" href="http://mariospr.org/2010/12/06/watching-the-webkit-buildbots-from-your-android-phone/">small android application to scratch an itch I had</a>: being able to easily check the status of <a title="WebKit build bots" href="http://build.webkit.org/">WebKit buildbots</a> right from my phone, which turned out to be quite useful in some scenarios.</p>
<p>And no, I&#8217;m not the kind of guy that does the <a title="Cool developers don't look at the buildbots" href="http://webkitmemes.tumblr.com/post/18264800090/cool-developers-dont-look-at-the-build-bots">&#8220;Land Patch / Goes Home&#8221;</a> thing, but sometimes you see yourself in the situation of having to leave your workplace before than expected <strong>and</strong> after having committed certain kind of patches a while ago. And in such a situation <a title="WebKit Watcher" href="https://play.google.com/store/apps/details?id=com.igalia.mario.webkitwatcher">WebKit Watcher</a> has proved to be a helpful tool many times, at least to me.</p>
<p>So, what&#8217;s new in this 0.2 release? Not many bells and whistles, to be honest, I just scratched a couple of small itches more I felt today, while going back to working as <em>gardener</em> for the <a title="WebKitGTK+" href="http://www.webkitgtk.org">WebKitGTK+</a> port. Basically:</p>
<ul>
<li>Replaced the main view showing only the core bots with a (static) list of the different platforms, so you know can  now check the results for all the bots of a specific platform. Selecting a platform will take you to the typical view showing the results for every build bot associated to it.</li>
<li>Added possibility of checking the results for all the bots in a single list view (&#8216;All&#8217; item in the main view), as previously only those &#8220;marked&#8221; as &#8216;core bots&#8217; were shown in the application. Now you can check the results of all the 43 bots, in case you want to.</li>
<li>Removed unnecessary permission <em>CHANGE_NETWORK_STATE</em>, as I personally <strong>hate</strong> apps asking me for more permissions than those strictly needed. I&#8217;m still wondering why I added that in the first place&#8230;</li>
</ul>
<p>And now, some screenshots that will make your eyes bleed because of the &#8216;design&#8217; of this app:</p>
<p><a href="http://mariospr.org/wp-content/uploads/2012/06/20120601-WebKitWatcher-1.png"><img class="alignnone" src="http://mariospr.org/wp-content/uploads/2012/06/20120601-WebKitWatcher-1-thumb.png" alt="" width="156" height="260" /></a> <a href="http://mariospr.org/wp-content/uploads/2012/06/20120601-WebKitWatcher-2.png"><img class="alignnone" src="http://mariospr.org/wp-content/uploads/2012/06/20120601-WebKitWatcher-2-thumb.png" alt="" width="156" height="260" /></a> <a href="http://mariospr.org/wp-content/uploads/2012/06/20120601-WebKitWatcher-3.png"><img class="alignnone" src="http://mariospr.org/wp-content/uploads/2012/06/20120601-WebKitWatcher-3-thumb.png" alt="" width="156" height="260" /></a></p>
<p>I told you it was so beautiful!</p>
<p>By the way, you can grab it and install this app through several ways:</p>
<ul>
<li><strong>Google Play</strong>: just <a title="WebKit Watcher in Google Play" href="https://play.google.com/store/apps/details?id=com.igalia.mario.webkitwatcher">look for “webkit”</a></li>
<li><strong>The<em> .APK</em> file</strong> to install by copying to the device: grab it from <a title="WebKit Watcher .APK file" href="http://mariospr.org/misc/WebKitWatcher.apk">here</a></li>
<li><strong>Source code</strong>: get it from <a title="WebKit Watcher git respository" href="http://gitorious.org/webkit-watcher">its git repository</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mariospr.org/2012/06/01/webkit-watcher-0-2-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
