<?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>Iocane powder &#187; Blogroll</title>
	<atom:link href="http://blogs.gnome.org/xan/category/blogroll/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/xan</link>
	<description>Just another GNOME Blogs weblog</description>
	<lastBuildDate>Tue, 17 Jan 2012 16:07:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Epiphany marches on</title>
		<link>http://blogs.gnome.org/xan/2012/01/17/epiphany-marches-on/</link>
		<comments>http://blogs.gnome.org/xan/2012/01/17/epiphany-marches-on/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 15:56:06 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=430</guid>
		<description><![CDATA[Previously in this space we saw how the bright future of Epiphany looked like, and vague promises about incremental steps towards it were done. A month later, Epiphany 3.3.4 is out there, so let&#8217;s see how well we&#8217;ve done. There&#8217;s a lot of new stuff here, so let&#8217;s go step by step. Application menu The [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.gnome.org/xan/2011/12/04/a-new-design-for-epiphany-web/">Previously in this space</a> we saw how the bright future of Epiphany looked like, and vague promises about <a href="http://live.gnome.org/Epiphany/Roadmap/3.4">incremental steps</a> towards it were done. A month later, Epiphany 3.3.4 is <a href="http://ftp.gnome.org/pub/GNOME/sources/epiphany/3.3/">out there</a>, so let&#8217;s see how well we&#8217;ve done.</p>
<p><a href="http://blogs.gnome.org/xan/files/2012/01/ephy-complete.png"><img class="aligncenter size-full wp-image-431" src="http://blogs.gnome.org/xan/files/2012/01/ephy-complete-snapshot.png" alt="" width="426" height="266" /></a></p>
<p>There&#8217;s a lot of new stuff here, so let&#8217;s go step by step.</p>
<h2>Application menu</h2>
<p><a href="http://blogs.gnome.org/xan/files/2012/01/ephy-application-menu.png"><img class="alignleft size-full wp-image-434" src="http://blogs.gnome.org/xan/files/2012/01/ephy-application-menu.png" alt="" width="240" height="439" /></a></p>
<p>The <a href="https://live.gnome.org/ThreePointThree/Features/ApplicationMenu">application menu</a>, accessible from its usual location in the Shell, holds actions that affect the entire application as opposed to the currently focused window or tab. You&#8217;ll need a fairly recent version of the Shell and gnome-settings-daemon (3.3.4 of both should do, when they are out) to get it working, otherwise the browser will fallback to a lonely &#8220;Application&#8221; entry in a now deserted menubar.</p>
<p>Also, notice that we now brand ourselves as &#8220;Web&#8221; in all user visible strings.</p>
<h2>New toolbar</h2>
<p><a href="http://blogs.gnome.org/xan/files/2012/01/ephy-toolbar.png"><img class="aligncenter size-full wp-image-437" src="http://blogs.gnome.org/xan/files/2012/01/ephy-toolbar.png" alt="" width="549" height="42" /></a></p>
<p>The bulk of the changes are here. As you can see the Back and Forward buttons have been visually merged, a fate shared by the location entry and the reload/stop button. The entire menubar is gone, being replaced by a &#8220;super menu&#8221; triggered by the funny looking button with a gear (more on this later). Everything else that used to be in the default toolbar layout is now gone, as is the ability to edit its contents, making the concept of a default layout more dramatic. Finally, we use a new style for the toolbar, making it seamlessly merge with the window decoration. We think it looks great!</p>
<h2>Super menu</h2>
<p><a href="http://blogs.gnome.org/xan/files/2012/01/ephy-page-menu.png"><img class="alignright size-full wp-image-440" src="http://blogs.gnome.org/xan/files/2012/01/ephy-page-menu.png" alt="" width="254" height="579" /></a></p>
<p>In the quest to save as much vertical space as possible in the default layout we have moved all the remaining actions of our menubar into a side &#8220;super menu&#8221;. Here will live actions related to the current page, although for the moment we have some visitors there en route to their new destination (like the Bookmarks menu, which will live in the new Overview).</p>
<h2>The devil is in the details</h2>
<p>A lot of other small tweaks and cleanups have happened, too many to mention. From a renewed floating statusbar (now shared with Nautilus), to spacing tweaks, to more thorough use of symbolic icons throughout the UI. Special thanks go to the Design Team, it&#8217;s a pleasure to work with them in both the small details and in the big picture re-designs.</p>
<p>Also, one benefit of having a renewed design focus is that it allows you to do this:</p>
<p>135 files changed, 14988 insertions(+), 26958 deletions(-)</p>
<p>Around 12,000 lines of code have been deleted since 3.3.2; the biggest chunk comes from the demise of EphyToolbarEditor and friends, but in other places we have just managed to do the same, or more, with less. This means more energy devoted to make Epiphany really good at what it should be doing, which is what every core GNOME application should aspire to do.</p>
<h2>More to come</h2>
<p>This is only the beginning, not the end. The Epiphany team will now continue full steam ahead to implement the new Overview, merge the new SQLite history backend, port our extension system to libpeas and many other exciting features, maybe including some surprise gift in the Web Application camp. Stay tuned to this space and, as usual, happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2012/01/17/epiphany-marches-on/feed/</wfw:commentRss>
		<slash:comments>53</slash:comments>
		</item>
		<item>
		<title>The next million apps</title>
		<link>http://blogs.gnome.org/xan/2011/10/19/the-next-million-apps/</link>
		<comments>http://blogs.gnome.org/xan/2011/10/19/the-next-million-apps/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 15:18:55 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=376</guid>
		<description><![CDATA[A few months ago the Apple Store accumulated more than 500,000 approved applications available for download. This is a very remarkable fact for a relatively new platform using somewhat obscure technologies. It is, also, a very profitable situation for Apple. It is a bit besides the point of this post whether a platform is popular [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago the Apple Store accumulated more than 500,000<br />
approved applications available for <a href="http://www.wired.com/gadgetlab/2011/05/app-store-500k/">download</a>. This is a very<br />
remarkable fact for a relatively new platform using somewhat <a href="http://en.wikipedia.org/wiki/Objective-C">obscure<br />
technologies</a>. It is, also, a <a href="http://www.washingtonpost.com/wp-dyn/content/article/2011/02/18/AR2011021807943.html">very profitable situation</a> for Apple.</p>
<p>It is a bit besides the point of this post whether a platform is<br />
popular because it has half a million applications or whether it has<br />
half a million applications because it&#8217;s popular; the truth is likely<br />
that popularity and a lot of applications go hand in hand in a<br />
self-reinforcing loop. That being said, the fact remains that any<br />
platform that aims to be relevant needs to both convince developers to<br />
create applications for it and to provide them with the means to do<br />
so. If you start with an eye-popping, years ahead of its competition,<br />
money-making miracle thing like the iPhone you might end up convincing<br />
large amounts of people to target your platform specifically, but<br />
usually having a great platform won&#8217;t be enough to do so. Think of<br />
WebOS.</p>
<p>The question for us is, then: how are we going to get from where we<br />
stand today to a vibrant constellation of applications centered around<br />
the GNOME platform? Is there a path from today to 500,000 GNOME<br />
applications in the future?</p>
<p><strong>Developing GNOME and for GNOME.<br />
</strong><br />
The way things have worked so far is that we expect people to develop<br />
for GNOME in a similar way to what in which we develop its core<br />
applications. This is not only natural, but also has some great<br />
qualities like making us dogfood our own development processes. It has<br />
also some disadvantages, like expecting (perhaps unreasonably) all<br />
developers to appreciate the perhaps too hacker-like tools we use and<br />
routines we follow. Maybe not everyone wants to use the shell, emacs<br />
and git from the command line? Perhaps we can jump without problems<br />
from C or JavaScript to Vala (the 3 languages currently used in the<br />
core module set), although I have my doubts, but surely offering 5<br />
different language alternatives in <a href="http://developer.gnome.org">developer.gnome.org</a>, with tutorials and API documentation, without really telling newcomers which one is recommended, encouraged or best supported might be too much for most people?</p>
<p>To the extent that our core development practices are reflected in our<br />
third party developer story we need to keep our house in order. Being<br />
able to use any language to target GNOME might be a strength, but the<br />
fact that we cannot decide which language we want users to learn first<br />
might perhaps just be the result of our internal confusion. The core<br />
libraries are still overwhelmingly written in C, but all the new<br />
generation applications and UI modules are being written in higher<br />
level languages (<a href="http://wingolog.org/archives/2011/10/13/whats-your-c-migration-plan">finally?!</a>). Which ones? Well, guess it<br />
depends. Some use JavaScript, some use Vala, others might come in the<br />
future, and it seems that the winner mostly depends on the tastes of<br />
the module owners. Surely not all languages would be tacitly accepted<br />
(sawfish was dropped, among other reasons, because it was written in a<br />
dialect of Lisp), but I can see the situation getting worse before it<br />
gets better.</p>
<p>Even if we sort out the language issue there would be further barriers<br />
for new developers. Our platform has been massively cleaned up in<br />
recent times, but the road to GNOME 3 has created new ambiguities: a<br />
parallel, mostly internal, toolkit built on top of Clutter is used by<br />
the Shell or Sushi, and if certain animations or effects are desired<br />
in GTK+ projects the only choice seems to mix and match a bit of the<br />
old and the new in the same application. Efforts are underway to <a href="http://mail.gnome.org/archives/gtk-devel-list/2011-October/msg00010.html">unify<br />
things</a>, but again it&#8217;s not complicated to see how someone new to<br />
the whole thing might be confused.</p>
<p>I could go on mentioning communication channels, tools, etc, but I<br />
think the point has been made: as far as we expect people to develop<br />
native GNOME applications in a way similar to how we work we need to<br />
spend energy in clarifying our internal procedures, documenting them<br />
and publishing easy to follow and simplified instructions for third<br />
party developers. Otherwise GNOME will likely be perceived as a<br />
platform that is difficult to develop for, best suited for expert<br />
hackers, with few quality applications and not much appeal for the<br />
mainstream. This would have been a reasonable conclusion some years<br />
ago, and has been a repeated call to arms in the past. While I think<br />
it still makes sense to do this, I believe we live in a time that<br />
offers us new strategies that we can combine with this one, perhaps<br />
better suited to our current capabilities and resources.</p>
<p><strong>The Web.<br />
</strong><br />
The Web is winning. This horse has been beaten to death, so I won&#8217;t<br />
dwell on the details at this point, but web technologies are here to<br />
stay and are only becoming more and more important each day. Those who<br />
repeatedly announce the imminent failure of the web as an application<br />
development platform on the basis that it, well, sucks (and it kinda<br />
does) miss two important points: first, the web is winning not because<br />
it&#8217;s a beautiful platform, but <a href="https://twitter.com/#!/mustpax/status/117015363979452416">because of its reach</a>. Second,<br />
whatever its flaws, the web platform has so much momentum and energy<br />
put into it that it&#8217;s quickly overcoming most of the defects that it<br />
had at some point, and things will only improve. Do you want an idea<br />
of how big this is getting?  Windows 8 applications will be built<br />
using <a href="http://thenextweb.com/dd/2011/06/02/windows-8-apps-to-be-built-in-html-javascript/">HTML and JavaScript</a>. You don&#8217;t get more mainstream than that.</p>
<p>A new array of solutions designed to build web applications (packaged,<br />
delivered to the user, run locally) is being created as we speak. From<br />
Tizen&#8217;s endorsed <a href="http://en.wikipedia.org/wiki/Wholesale_Applications_Community">WAC</a>, to Mozilla&#8217;s <a href="https://developer.mozilla.org/en/OpenWebApps">OpenWebApps</a>, to <a href="http://code.google.com/chrome/extensions/apps.html">Chrome&#8217;s<br />
Applications</a> the list keeps growing in expansionary fashion, but<br />
all the specs share the same father: a thin layer on top of HTML5, CSS<br />
and JavaScript, bridging the gap between the W3C standard&#8217;s and the<br />
needs of the apps. As the standards grow, those platforms will shrink,<br />
and it is likely that in good time a reasonably standardized solution<br />
will emerge.</p>
<p>Why is this relevant for GNOME? Never mind iOS, never mind Android,<br />
one thing is clear: most of the next million apps written will be web<br />
applications. Some huge players like Microsoft are already moving<br />
there as fast as they can, and the rest will follow sooner or<br />
later. Native apps won&#8217;t go anywhere for a long time, but developers<br />
willing to maximize their reach will, increasingly, prefer web<br />
applications over anything else. At least as their first choice. This<br />
brings us a great opportunity. If we jump on this bandwagon, support<br />
web applications as first class citizens on top of <a href="http://www.webkitgtk.org">world-class<br />
runtimes</a>, and accept and even encourage people to run their web<br />
apps on our <a href="http://www.gnome.org">operating system</a> we can maximize our reach with a<br />
fraction of the effort of fighting in the native SDK war against Apple<br />
and Google. I think being smart in how we spend our scarce resources<br />
is important, and I believe this is a fight that we can win if we put<br />
our minds to it: let&#8217;s not forget our own platform, but let&#8217;s embrace<br />
the web as it is emerging.</p>
<p>Most of this was shared with those present at this year&#8217;s GNOME Boston<br />
Summit (in <a href="http://live.gnome.org/Montreal2011">Montreal</a>), and although there was a lively debate my<br />
impression is that most of it was well received by the core hackers<br />
present. We at <a href="http://www.igalia.com">Igalia</a> believe that this is a promising way forward for<br />
GNOME and we happen to have the skills necessary to make it happen, so<br />
we are committed to keep investing in the foundational platform bits<br />
like WebKit and to bring Web Application support to our OS: our plan<br />
for the next months is to explore all the new technologies I have<br />
mentioned, and start to implement a well integrated runtime to run the<br />
next generation of web goodness at home.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2011/10/19/the-next-million-apps/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Joanmarie Diggs joins Igalia</title>
		<link>http://blogs.gnome.org/xan/2011/09/07/joanmarie-diggs-joins-igalia/</link>
		<comments>http://blogs.gnome.org/xan/2011/09/07/joanmarie-diggs-joins-igalia/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 18:52:27 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=365</guid>
		<description><![CDATA[As announced by the fearless accessibility leader himself Joanmarie Diggs will be joining Igalia. I just want to direct your attention to one tiny detail. From this: To this: in less than 4 hours. We are just that cool. Welcome Joanie!]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://blogs.igalia.com/apinheiro/2011/09/07/new-igalia-hiring-joanmarie-diggs/">announced</a> by the fearless accessibility leader himself Joanmarie Diggs will be joining <a href="http://www.igalia.com">Igalia</a>. I just want to direct your attention to one tiny detail. From this:</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/09/joanie1.png"><img src="http://blogs.gnome.org/xan/files/2011/09/joanie1.png" alt="" width="557" height="142" class="aligncenter size-full wp-image-366" /></a></p>
<p>To this:</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/09/joanie2.png"><img src="http://blogs.gnome.org/xan/files/2011/09/joanie2.png" alt="" width="573" height="273" class="aligncenter size-full wp-image-367" /></a></p>
<p>in less than 4 hours. We are just that cool. Welcome Joanie!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2011/09/07/joanmarie-diggs-joins-igalia/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Web application mode in GNOME 3.2</title>
		<link>http://blogs.gnome.org/xan/2011/08/31/web-application-mode-in-gnome-3-2/</link>
		<comments>http://blogs.gnome.org/xan/2011/08/31/web-application-mode-in-gnome-3-2/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 20:15:24 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=342</guid>
		<description><![CDATA[If you attended either of my talks at the Desktop Summit or COSCUP (or both! Although I think only the British Citizen Bastien Nocera might have done so, assuming he was sober enough to go to the former) you might remember my somewhat failed attempts at demoing the new web application mode in Epiphany. Although [...]]]></description>
			<content:encoded><![CDATA[<p>If you attended either of my talks at the <a href="https://desktopsummit.org/">Desktop Summit</a> or <a href="http://coscup.org/2011/en/">COSCUP</a> (or both! Although I think only the <a href="https://twitter.com/#!/hadessuk/status/108911585115906048">British Citizen Bastien Nocera</a> might have done so, assuming he was sober enough to go to the former) you might remember my somewhat failed attempts at demoing the new web application mode in Epiphany. Although there are still some improvements to do I&#8217;ve landed the bulk of the code for the upcoming 3.1.90 release, so I figured it would be useful to give a brief overview of how this thing works for the global audience of the intertubes.</p>
<p>The main idea here, to give a bit of context, is that some of us use a certain number of web pages as if they were applications: we open them the minute we open the browser, keep them open all the time, check on them periodically, etc. Once you figure this out, the next logical step (sort of &#8220;independently discovered&#8221; by pretty much anyone doing browsers) is: well, if you use them as applications shouldn&#8217;t you try to make them a bit more like <em>actual</em> applications? Right. So let&#8217;s see how we have done this in GNOME.</p>
<p>Let&#8217;s say you are using a certain micro-blogging service with a blue logo and a tendency to break down from time to time. At some point you figure you use this thing so much that you might as well create an app for it. Press Ctrl-Shift-A, or access the File menu and select &#8220;Save as Web Application&#8230;&#8221;:</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/08/saveaswebapp.png"><img class="aligncenter size-full wp-image-345" src="http://blogs.gnome.org/xan/files/2011/08/saveaswebapp.png" alt="Save as Web Application ..." width="325" height="358" /></a></p>
<p>Now a small dialog pops up. It will present you the icon to be used for the new application and a tentative title, which you can edit. If the page is providing a specific high-resolution icon (usually meant for touch devices like the <a href="http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safariwebcontent/configuringwebapplications/configuringwebapplications.html">iPhone</a>) we&#8217;ll use that, otherwise we fall back to a screenshot that will hopefully be recognizable enough. There&#8217;s lots of smalll improvements to do here, from overlaying the normal favicon on top of the screenshot to allowing the user to select the region to snapshot (or even scrapping the page trying to see if we can find the logo somewhere), but those can come later.</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/08/createwebapp1.png"><img class="aligncenter size-full wp-image-348" src="http://blogs.gnome.org/xan/files/2011/08/createwebapp1.png" alt="Create web application" width="309" height="217" /></a></p>
<p>We click &#8220;Create&#8221;, and the system informs us that the application is ready to be used.</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/08/launchwebapp.png"><img class="aligncenter size-full wp-image-351" src="http://blogs.gnome.org/xan/files/2011/08/launchwebapp.png" alt="Launch the web application" width="606" height="92" /></a></p>
<p>If you click &#8220;Launch&#8221;, or access the newly created application from the Shell, you&#8217;ll get a new browser instance in the so called &#8220;application mode&#8221;.</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/08/hadess.png"><img class="aligncenter size-full wp-image-352" src="http://blogs.gnome.org/xan/files/2011/08/hadess.png" alt="" width="522" height="357" /></a></p>
<p>Very briefly:</p>
<ul>
<li>There&#8217;s absolutely no UI chrome other than the title bar.</li>
<li>The application is sandboxed to a given domain. If you try to go somewhere else, say by clicking a link, the petition will be forwarded to a normal browser instance.</li>
<li>The existing cookies for the application domain are inherited from the main browser profile (so that you don&#8217;t have to login again), but other than that this is a completely fresh profile.</li>
<li>Finally, this is running in a different process. If you crash your main browser your Twitter app will still be there.</li>
</ul>
<p>And that&#8217;s pretty much it! I have been using this intensively for a while now, and I must say it feels totally natural and, for me at least, it provides a much more convenient way of using the web applications that I&#8217;ve come to rely on. I&#8217;m eager to get feedback from the early adopters using 3.1.90, and with a bit of luck even patches fixing the low hanging fruit!</p>
<p>Until the next time, happy hacking!</p>
<div><a href="http://blogs.gnome.org/xan/files/2011/08/switcher.png"><img class="aligncenter size-full wp-image-355" src="http://blogs.gnome.org/xan/files/2011/08/switcher.png" alt="" width="574" height="108" /></a></div>
<p><strong>Edit</strong>: a bunch of people are asking whether the apps show up in the overview, in the dash, whether they can be pinned, etc. The answer to all of that is: yes. The web apps created through Epiphany behave just like normal apps. You can launch them from the shell, they show up in the dash and you can pin them there as favorites if you want.</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/08/apps.png"><img src="http://blogs.gnome.org/xan/files/2011/08/apps.png" alt="" width="299" height="476" class="aligncenter size-full wp-image-363" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2011/08/31/web-application-mode-in-gnome-3-2/feed/</wfw:commentRss>
		<slash:comments>65</slash:comments>
		</item>
		<item>
		<title>It&#8217;s all in the small things</title>
		<link>http://blogs.gnome.org/xan/2011/06/18/its-all-in-the-small-things/</link>
		<comments>http://blogs.gnome.org/xan/2011/06/18/its-all-in-the-small-things/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 21:25:55 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=267</guid>
		<description><![CDATA[A long time ago, in a book whose title I have forgotten, I read something that went like: Alice: Oh, there&#8217;s problems in our relationship, but it&#8217;s nothing. Just small things that annoy me. Bob: Then there&#8217;s nothing to be done. Small things are all that matters in the end. It is, of course, an [...]]]></description>
			<content:encoded><![CDATA[<p>A long time ago, in a book whose title I have forgotten, I read something that went like:</p>
<blockquote>
<p><abbr title="Alice, The First Person">Alice</abbr>: Oh, there&#8217;s problems in our relationship, but it&#8217;s nothing. Just small things that annoy me.</p>
<p><abbr title="Bob, The Second Person">Bob</abbr>: Then there&#8217;s nothing to be done. Small things are all that matters in the end.</p>
</blockquote>
<p>It is, of course, an exaggeration, but one of those that can perhaps hide a deep truth. Maybe because in many cases small things are indicative of bigger problems, or maybe because we very easily take for granted the parts that work and end up obsessing with small details to the point where they ruin the whole experience for us (see: <a title="Death by a thousand cuts" href="http://en.wikipedia.org/wiki/Death_by_a_thousand_cuts">Death by a thousand cuts</a>).</p>
<p>In any case, in the last weeks we <a href="http://www.igalia.com">Igalians</a> have implemented a few nice improvements in Epiphany, all of which are available in <a title="GNOME 3.1.2" href="https://mail.gnome.org/archives/gnome-announce-list/2011-June/msg00042.html">GNOME 3.1.2</a>. Only small things, but they matter.</p>
<h2>Spell checking</h2>
<p><a href="http://blogs.gnome.org/xan/files/2011/06/twitter1.png"><img src="http://blogs.gnome.org/xan/files/2011/06/twitter1.png" alt="" width="225" height="131" class="aligncenter size-full wp-image-299" /></a>
<p>Spell checking! I know I hate writing long chunks of texts without it, and I&#8217;m probably not the only one. We enable the feature by default, and will perform spell check using the languages selected in Preferences→Languages or, if there&#8217;s none, the default system language according to GTK+.</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/06/twitter2.png"><img src="http://blogs.gnome.org/xan/files/2011/06/twitter2.png" alt="" width="225" height="150" class="aligncenter size-full wp-image-300" /></a></p>
<p>But of course knowing that you have made a mistake is only half of the battle. If you right click on the misspelled word you&#8217;ll get 4 suggestions from WebKit to use as corrections. Click on any of them and it will replace your blunder.</p>
<h2>Warning on leaving pages with unsubmitted forms</h2>
<p>A feature that old-time Epiphany users will remember fondly. Has it ever happened to you writing a huge comment on <a href="http://www.reddit.com">reddit</a>, or perhaps a fantastic resignation letter to your boss, only to accidentally close the tab losing all of it for good? Yeah, me too. We will now detect this unfortunate situation, and warn you one last time before tragedy ensues.</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/06/warning.png"><img src="http://blogs.gnome.org/xan/files/2011/06/warning.png" alt="" width="348" height="137" class="aligncenter size-full wp-image-305" /></a></p>
<h2>Hide that menubar</h2>
<p>An ability I enjoy from our terminal is the possibility of hiding its menubar. It&#8217;s nice to regain those pixels if you are rarely using them. Since imitation is the most sincere form of flattery we went ahead and copied the feature almost verbatim. Right click on any chrome area in the browser and you&#8217;ll see the option to show or hide the menubar:</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/06/menubar1.png"><img src="http://blogs.gnome.org/xan/files/2011/06/menubar1.png" alt="" width="254" height="152" class="aligncenter size-full wp-image-311" /></a></p>
<p>When unselected the menubar will just go away, although you can always bring it back by performing the same action again. The result? Well, there&#8217;s not a lot more to hide now!</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/06/menubar2.png"><img src="http://blogs.gnome.org/xan/files/2011/06/menubar2.png" alt="" width="488" height="45" class="aligncenter size-full wp-image-312" /></a></p>
<h2>Symbolic icons in the URL entry</h2>
<p><a href="http://blogs.gnome.org/xan/files/2011/06/symbolic-lock-epiphany1.png"><img src="http://blogs.gnome.org/xan/files/2011/06/symbolic-lock-epiphany1.png" alt="" width="77" height="74" style="float:left;margin: 0 15px 15px 0;padding: 5px" class="size-full wp-image-269" /></a><a title="Jon McCann" href="http://blogs.gnome.org/mccann/">Jon McCann</a> (repeatedly) asked for Epiphany to drop its yellow tint in the URL entry for secure sites, and <a title="Cosimo Cecchi" href="http://blogs.gnome.org/cosimoc/">Cosimo Cecchi</a> suggested in a <a href="https://bugzilla.gnome.org/show_bug.cgi?id=648621">bug</a> that we should also use the new symbolic icons for the security lock. Both great ideas, which combined give us a more modern look.</p>
<h2>about:plugins</h2>
<p>about: support finally landed, and with it about:plugins. There&#8217;s a few more things we should add here, like the full path of the plugin and a checkbox to disable it, but at least now it should be easier for users to figure out whether the browser knows about a particular plugin or not.</p>
<p><a href="http://blogs.gnome.org/xan/files/2011/06/aboutplugins.png"><img class="aligncenter size-full wp-image-275" src="http://blogs.gnome.org/xan/files/2011/06/aboutplugins.png" alt="" width="333" height="233" /></a></p>
<p>Also rumor has it another well-loved about: page made it into the release, but you&#8217;ll have to figure out that one for yourselves<b><a href="http://blogs.gnome.org/xan/files/2011/06/aboutepiphany1.png">.</a></b></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2011/06/18/its-all-in-the-small-things/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>No pasarán</title>
		<link>http://blogs.gnome.org/xan/2011/02/19/no-pasaran/</link>
		<comments>http://blogs.gnome.org/xan/2011/02/19/no-pasaran/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 02:01:46 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=233</guid>
		<description><![CDATA[Hegel once observed that all events and persons of some importance in history would occur, as it were, twice, to which Karl Marx famously added: the first time as tragedy, the second as farce. It&#8217;s no wonder than this little snippet became so popular, since we human beings are so fond of repeating history again [...]]]></description>
			<content:encoded><![CDATA[<p>Hegel once observed that all events and persons of some importance in history would occur, as it were, twice, to which Karl Marx famously added: the first time as tragedy, the second as farce. It&#8217;s no wonder than this little snippet became so popular, since we human beings are so fond of repeating history again and again.</p>
<p>On February the 11th the descendant of what once was <a href="http://maemo.org/">my first project as a professional developer</a> finally <a href="http://www.microsoft.com/presspass/press/2011/feb11/02-11partnership.mspx">crashed and burned</a> in a re-enactment of the now legendary <a href="http://arstechnica.com/open-source/news/2008/01/nokia-buys-trolltech-will-become-a-patron-of-kde.ars">GTK+ to Qt gambit</a>, also known as &#8220;let&#8217;s dump everything and start from scratch because we are not sufficiently behind of our competitors&#8221;. Those of us who thought that the switch to Qt was for the most part a vain quest for a technological Grail that would save Nokia from its own structural and management related issues were probably not terribly shocked, but it&#8217;s hard not to be sad about the way things finally happened. In any case, I&#8217;m not here to write about whether Stephen Elop is a fifth columnist, about Windows Phone 7, about the future of Qt, about <a href="http://www.webkit.org">who-gives-a-crap-about-toolkits-anyway-the-Web-won-guys</a> or anything of the sort. I just want to talk about one thing: for many years <a href="http://www.gnu.org/philosophy/free-sw.html">Free Software</a> was Nokia&#8217;s hope for a better future, a wagon they shared with many of us. After years of rhetoric about the virtues of openness and the wonderful vistas of synergy now available to the boldest of the middle managers, if only they were a little adventurous, we are supposed to accept the harsh cold truth: the best way to do software is to do it behind closed doors, the future belongs to proprietary platforms, <a href="http://www.kernel.org">nothing good</a> ever came out of geographically distributed cooperation. Well, I disagree with the keen minds of the <a href="http://en.wikipedia.org/wiki/Finland">North</a>. Perhaps what I have to offer is a controversial proposition, perhaps in the XXI century it&#8217;s a bit passé to show deep commitment to some ideal other than the quarterly reports, arrogant to pretend that you know better than others, but what the heck: Nokia is wrong, and we are right.</p>
<p>We live in a cynical and difficult world, where those who have a lot tend to only want more, and where the rest of us must juggle with morality, trying to get along as well as we can without reaching a point where we cannot look at ourselves in the mirror anymore. Some ideas are perpetuated in order to keep us happy enough with our lives, not questioning too much the quotidian farces we face, and one of those is this one: closed software is as good and respectable as free software, you should use whatever is best for you, your company, your shareholders. Well, it&#8217;s not. Never has, never will.</p>
<p>Some truths are simple enough to be taught to kindergarten children, simple enough to be only questioned by adults: sharing is better than hoarding. Contributing to the general well being of humanity is better than keeping the improvements you do for yourself, for profit. This was true when a certain Mr. Stallman decided he&#8217;d write a <a href="http://www.gnu.org/">Free Operating System</a> in <a href="http://www.gnu.org/gnu/initial-announcement.html">1983</a>, and it&#8217;s still true today. It will still be true when anyone who is reading this today is dead, when all the closed software that ever was is also dead and buried (and believe me, it will), when the only software remembered, and used, is free, improved and built upon by our descendants. It might be hard to believe, in the era of the iPhones, that this will ever happen, but if you are reading this perhaps you share my controversial ideas. Perhaps you also think Nokia is wrong, and we are not. If you do, and you are hacking the good hack, keep going, I&#8217;ll be right behind of you.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2011/02/19/no-pasaran/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Igalia&#8217;s WebKit team is expanding</title>
		<link>http://blogs.gnome.org/xan/2010/12/30/igalias-webkit-team-is-expanding/</link>
		<comments>http://blogs.gnome.org/xan/2010/12/30/igalias-webkit-team-is-expanding/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 21:51:45 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=228</guid>
		<description><![CDATA[The WebKit team inside Igalia is looking for some fresh blood. On the technical side we work on all things WebKit, from rendering, networking and accessibility to JavaScript, multimedia and the GNOME web browser. We have a strong commitment to the GTK+ port, but we are by no means restricted to it. On the social [...]]]></description>
			<content:encoded><![CDATA[<p>The WebKit team inside <a href="http://www.igalia.com">Igalia</a> is looking for some fresh blood. On the technical side we work on all things <a href="http://www.webkit.org">WebKit</a>, from rendering, networking and accessibility to JavaScript, multimedia and the <a href="http://projects.gnome.org/epiphany/">GNOME web browser</a>. We have a strong commitment to the <a href="http://www.webkitgtk.org">GTK+ port</a>, but we are by no means restricted to it. On the social side Igalia practices <a href="http://en.wikipedia.org/wiki/Workplace_democracy">workplace democracy</a>, which in practical terms means that you&#8217;ll have, <a href="http://www.igalia.com/about-us/internal-responsibility">shortly after joining</a>, a voice and vote in how the company is run, from the short term tactical considerations (should we do this project or hire this guy?) to the long term strategic investments (I tell you, this &#8220;Web&#8221; thing is totally the future).</p>
<p>If this sounds like something you&#8217;d like to do drop me a line to any of my multiple mail addresses (I&#8217;m sure you&#8217;ll manage to find at least one of them) with any background information that you consider relevant.</p>
<p>PS: We are extremely flexible in both location (ask me about my last 9 months travelling around the world) and how you distribute your working hours, so we should be able to accommodate pretty much anyone that is both human and living on planet Earth.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2010/12/30/igalias-webkit-team-is-expanding/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WebKitGTK+ Hackfest 2010</title>
		<link>http://blogs.gnome.org/xan/2010/12/18/webkitgtk-hackfest-2010/</link>
		<comments>http://blogs.gnome.org/xan/2010/12/18/webkitgtk-hackfest-2010/#comments</comments>
		<pubDate>Sat, 18 Dec 2010 23:57:34 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=204</guid>
		<description><![CDATA[Like last year around these dates, last week some of the WebKitGTK+ hackers gathered in the Igalia offices to spend a few days hacking the good hack, eating tortilla and playing Street Fighter II. Others have already blogged about the event (Mario, Gustavo, Alex, Diego in multiple occasions &#8230; eh&#8230;) in some detail, so I&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p>Like <a href="http://blogs.gnome.org/xan/2009/12/15/webkitgtk-hackfest-day-zero/">last</a> <a href="http://blogs.gnome.org/xan/2009/12/21/webkitgtk-hackfest-day-g_maxint/">year</a> around these dates, last week some of the <a href="http://www.webkitgtk.org">WebKitGTK</a>+ hackers gathered in the <a href="http://www.igalia.com">Igalia</a> offices to spend a few days hacking the good hack, eating <a href="http://en.wikipedia.org/wiki/Tortilla_de_patatas">tortilla</a> and playing <a href="http://en.wikipedia.org/wiki/Street_Fighter_II">Street Fighter II</a>.</p>
<p>Others have already blogged about the event (<a href="http://blogs.igalia.com/mario/2010/12/13/webkitgtk-hackfest-2010/">Mario</a>, <a href="http://blog.kov.eti.br/?p=124">Gustavo</a>, <a href="http://blogs.igalia.com/alex/2010/12/12/2010-webkitgtk-hackfest-done/">Alex</a>, <a href="http://blogs.gnome.org/diegoe/2010/12/05/webkitgtk-hackfest-day-0/">Diego</a> <a href="http://blogs.gnome.org/diegoe/2010/12/06/webkitgtk-hackfest-day-1/">in</a> <a href="http://blogs.gnome.org/diegoe/2010/12/07/webkitgtk-hackfest-day-2/">multiple</a> <a href="http://blogs.gnome.org/diegoe/2010/12/08/3rd-day-of-vebkitgtk-hackfest-live-from-the-cave/">occasions</a> <a href="http://blogs.gnome.org/diegoe/2010/12/09/webkitgtk-hackfest-day-400/">&#8230;</a> <a href="http://blogs.gnome.org/diegoe/2010/12/10/webkitgtk-hackfest-day-5/">eh&#8230;</a>) in some detail, so I&#8217;ll just try to give some extra information about some of the things that I did.</p>
<h3>JIT + Oprofile</h3>
<p>One of the few negative side effects of the not-so-recently acquired<a href="http://webkit.org/blog/214/introducing-squirrelfish-extreme/"> JIT superpowers</a> of JavaScriptCore is that JIT-generated code does not play very well with the tools we use everyday to debug and improve our code: <a href="http://www.gnu.org/software/gdb/">gdb</a> will have no idea of the name of the chunks of generated code it passes through (since they have none), and will print something unhelpful like &#8220;#9 ??&#8221;, profile tools like <a href="http://oprofile.sourceforge.net/">oprofile</a> and <a href="http://live.gnome.org/Sysprof">sysprof</a> will have exactly the same problem, so you&#8217;ll be unable to know which, if any, of the generated code is the culprit of excessive CPU usage, <a href="http://valgrind.org/">valgrind</a> does not expect executable code to modify itself at runtime, and will freak out and crash unless <a href="https://bugs.webkit.org/show_bug.cgi?id=39060">instructed to not do so</a>, etc. Fortunately some of these problems have solutions, so I spent the beginning of the hackfest reworking (to please the Reviewer gods) a <a href="https://bugs.webkit.org/show_bug.cgi?id=32561">beautiful patch</a> started some time ago by <a href="http://zecke.blogspot.com/">Holger Freyther</a> and the wizards of the <a href="http://www.u-szeged.hu/english/">University of Szeged</a> to instruct oprofile about our JIT maneuvers. With this in place the tools is able to know the context of the JIT memory chunks it goes through, and is able to go from some useless complains about anonymous memory ranges to printing something like:</p>
<pre style="background-color: #eee; padding: 1em; margin-left: 2em; margin-right: 2em; overflow-x: auto;">141       0.1910  8581.jo   &lt;jit-func&gt;:fannkuch[tests/sunspider-0.9/access-fannkuch.js:5-62]</pre>
<p>Nice!</p>
<h3>about:plugins</h3>
<p>Another topic where I spent a few days is the long struggle to resurrect &#8220;about:plugins&#8221; in <a href="http://projects.gnome.org/epiphany/">Epiphany</a>. While <a href="http://danw.mysterion.org/">Dan</a> was busy kicking libsoup into shape so that we can implement about: URLs in a non-terrible way,  I worked on adding the APIs in WebKitGTK+ that the browser will eventually use to fetch the plugin data.  A couple of patches (<a href="https://bugs.webkit.org/show_bug.cgi?id=50891">here</a> and <a href="https://bugs.webkit.org/show_bug.cgi?id=50827">here</a>) have already landed, and we can now query WebKit for all the plugins it has loaded in the session, ask information about them, and even disable and enable them at runtime. Because seeing is believing you can see a hacky implementation of the about page that I have implemented locally:</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/12/about-plugins.png"><img class="aligncenter size-full wp-image-209" title="about-plugins" src="http://blogs.gnome.org/xan/files/2010/12/about-plugins.png" alt="" width="426" height="370" /></a></p>
<p>Rest assured, this will look nicer (and will have more data and features) when it finally lands upstream!</p>
<h3>Tradition</h3>
<p>It was of course great to see everyone again, both colleagues from <a href="http://www.igalia.com">Igalia</a> and all the other hackers, and I hope we&#8217;ll be able to repeat the event again next year. If we manage to do it a third time this would pretty much become an ancient tradition of the GNOME community as far as these things go. Thanks to all the contributors and sponsors (<a href="http://www.igalia.com">Igalia</a>, <a href="http://www.collabora.co.uk">Collabora</a> and the <a href="http://www.gnome.org">GNOME foundation</a>) and until next time.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2010/12/18/webkitgtk-hackfest-2010/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Quo vadis, Epiphany</title>
		<link>http://blogs.gnome.org/xan/2010/05/22/quo-vadis-epiphany/</link>
		<comments>http://blogs.gnome.org/xan/2010/05/22/quo-vadis-epiphany/#comments</comments>
		<pubDate>Sat, 22 May 2010 11:59:53 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=175</guid>
		<description><![CDATA[It&#8217;s time for a brief (and late!) recap of some of the most notorious things we did in Epiphany for 2.30, and a short update on what&#8217;s already happening in the road to 3.0. 2.30 For 2.30 we focused on fixing all the regressions introduced by the switch to WebKit in 2.28. Overall we did [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time for a brief (and late!) recap of some of the most notorious things we did in Epiphany for 2.30, and a short update on what&#8217;s already happening in the road to 3.0.</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/05/melmakisnotspain.jpg"><img class="aligncenter size-medium wp-image-176" title="melmakisnotspain" src="http://blogs.gnome.org/xan/files/2010/05/melmakisnotspain-198x300.jpg" alt="" width="198" height="300" /></a></p>
<h1>2.30</h1>
<p>For 2.30 we focused on fixing all the regressions introduced by the switch to WebKit in 2.28. Overall we did a pretty good job, and there&#8217;s only a few things missing to reach the no-regressions goal. Here&#8217;s everything that used to work in 2.26, didn&#8217;t work in 2.28 and that we fixed for 2.30: middle-click to open clipboard contents, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=562617">bring back our old context menus</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=595653">up arrow functionality</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=603324">do a web search with the URL entry contents on Ctrl+Enter too</a>, EphyEmbedSingle::handle-content signal for external download managers, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=601859">favicon support</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=528893">send HTTP &#8216;Accept-Language&#8217; headers with the user language preferences</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=580903">custom User-Agent support</a>, javascript: and mailto: URI support, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=599009">close</a> and <a href="https://bugzilla.gnome.org/show_bug.cgi?id=604991">movement</a> DOM methods for window, shift+click in text areas, and, yes, f<a href="https://bugzilla.gnome.org/show_bug.cgi?id=582267">orm authentication auto-completion</a>.</p>
<p>Wew.</p>
<p>OK, so that&#8217;s a lot of stuff, but we were not happy with only bringing back old functionality, we also made some improvement here and there:</p>
<h2>GNOME Keyring storage for form auths + Infobar goodness:</h2>
<p>In 2.30 not only all your form authentication data is stored in the keyring, but we walked the extra mile to migrate the data in the gecko profile to the new format (not a particularly funny thing to do) and we now show a shiny infobar each time you are about to submit never-seen-before data:</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/05/infobar.png"><img class="aligncenter size-full wp-image-188" title="infobar" src="http://blogs.gnome.org/xan/files/2010/05/infobar.png" alt="" width="394" height="18" /></a></p>
<h2>Page cache</h2>
<p>After much painful debugging we managed to make the <a href="http://webkit.org/blog/427/webkit-page-cache-i-the-basics/">Page Cache</a> support in WebKitGTK+ stable enough for widespread usage. These means that when a page passes some preconditions its whole in-memory representation will be saved for some time, making going back to it with the Back/Forward button blindingly fast. Fast is Good.</p>
<h2>Favicons in the Tab Menu:</h2>
<p>Back in 2007 I opened <a href="https://bugzilla.gnome.org/show_bug.cgi?id=405505">a bug</a> suggesting to put favicons next to the page titles in our Tabs menu, arguing that this would make it much much easier to identify a certain page when you have lots of tabs opened; having said that, I promised to attach a patch with the fix &#8220;soonish&#8221;.</p>
<p>3 years and one week later Olivier Tilloy probably got fed up of waiting and decided to just send a patch himself, making our lives (well, at least mine) much better:</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/05/tabsmenu.png"><img class="aligncenter size-medium wp-image-185" title="tabsmenu" src="http://blogs.gnome.org/xan/files/2010/05/tabsmenu-300x223.png" alt="" width="300" height="223" /></a></p>
<p>Hey, can you see the bug in that screenshot? An opportunity to contribute!</p>
<h2>Disable all plugins at runtime:</h2>
<p>Back in the day all you could do in Epiphany was to disable the Java plugin, which nowadays is, to say the least, a feature of questionable usefulness. What we all want to do, surely, is to disable Flash unless we actually need to use it, right? Actually, make it all plugins in general, just in case:</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/05/preferences.png"><img class="aligncenter size-full wp-image-187" title="preferences" src="http://blogs.gnome.org/xan/files/2010/05/preferences.png" alt="" width="202" height="118" /></a></p>
<h1>Now</h1>
<p>And what about the next release? We haven&#8217;t stopped working. In fact at <a href="http://www.igalia.com">Igalia</a> we are increasing our commitment with the platform, and we are growing the team: <a href="http://blogs.igalia.com/alex/">Alejandro García</a> is working on rendering performance and in reminding everyone how many years it takes to get anything done in software, always; <a href="http://blogs.igalia.com/svillar/">Sergio Villar</a> is working on libsoup, aiming to finish the disk-cache for 3.0; <a href="http://blogs.igalia.com/mario/">Mario Sánchez</a> is focused on our accessibility support, fixing bugs left and right (with the help of two of our interns, <a href="http://blogs.gnome.org/diegoe/">Diego Escalante</a> and José Millán); <a href="http://base-art.net/">Philippe keeps</a> rocking on the media front, and our most recent hiring, <a href="http://abandonedwig.info/blog/">Martin Robinson</a> is rewriting and improving our DnD support so fast that it&#8217;s hard to keep track of it! Oh, and yeah, myself I&#8217;m still working on the GObject DOM bindings, a new post about all the new features I&#8217;ve added these past weeks is way overdue.</p>
<p>And what about Epiphany? For the next release (due on Wednesday) you can expect a bunch of bugfixes and some UI improvements. One that I&#8217;m enjoying a lot is something I implemented last week; I finally got rid of our statusbar for good, and now by default we&#8217;ll show contextual messages in a Chrome-like embedded statusbar (which we already had, but that I have reimplemented and made visible by default):</p>
<p><a href="http://blogs.gnome.org/xan/files/2010/05/statusbar.png"><img class="aligncenter size-full wp-image-193" title="statusbar" src="http://blogs.gnome.org/xan/files/2010/05/statusbar.png" alt="" width="297" height="87" /></a></p>
<p>More vertical space for web content, less code!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2010/05/22/quo-vadis-epiphany/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Just the bindings, ma&#8217;am</title>
		<link>http://blogs.gnome.org/xan/2010/04/28/just-the-bindings-maam/</link>
		<comments>http://blogs.gnome.org/xan/2010/04/28/just-the-bindings-maam/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 17:57:01 +0000</pubDate>
		<dc:creator>xan</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/xan/?p=157</guid>
		<description><![CDATA[After finishing some loose ends in a remarkable place I found in Bairro Alto the GObject DOM bindings are in good enough shape to start doing some damage in this world (queue video that probably won&#8217;t appear in Planet GNOME, click into my blog to see it): No video? You&#8217;re probably reading this in a [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_158" class="wp-caption aligncenter" style="width: 310px"><a href="http://blogs.gnome.org/xan/files/2010/04/lisbon.jpg"><img class="size-medium wp-image-158" title="lisbon" src="http://blogs.gnome.org/xan/files/2010/04/lisbon-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">My goodness was that cheese good</p></div>
<p>After finishing some loose ends in a remarkable place I found in <a href="http://en.wikipedia.org/wiki/Bairro_Alto">Bairro Alto</a> the GObject DOM bindings are in good enough shape to start doing some damage in this world (queue video that probably won&#8217;t appear in Planet GNOME, click into my blog to see it):</p>
<p><video controls="true" width="356" height="268"><source type="video/ogg" src="http://blogs.gnome.org/xan/files/2010/04/woot.ogg"/>No video?  You&#8217;re probably reading this in a feed reader or a browser that doesn&#8217;t support open video.  Feel free to <a href="http://blogs.gnome.org/xan/files/2010/04/woot.ogg">watch the video directly.</a></video></p>
<p>What you just (hopefully) saw is a GTK+ button that, when clicked, gets all the links from its cousin <a href="http://webkitgtk.org/reference/webkitgtk-WebKitWebView.html">WebKitWebView</a> and makes them do a small bounce, all with the <a href="http://www.w3.org/DOM/">DOM APIs</a> you know and <span style="text-decoration: line-through;">hate</span>^Wlove exported through GObject.</p>
<p>For instance, to get all links simply call webkit_dom_document_get_links on the WebKitDOMDocument associated with the WebView, which will return a WebKitDOMHTMLCollection. Now we just iterate through the elements, get the WebKitDOMCSSStyleDeclaration associated to each one, and set the CSS properties we want on each one. Simple as that! No &#8220;evaluate this string as JavaScript&#8221;, and no using the JavaScript bindings through JavaScriptCore. In fact, since we are generating our own bindings instead of using the JavaScript ones, we can get the proper semantics for GObject toolkits instead of having to live with the decisions other people made for other languages and contexts. You can see the code snippet <a href="http://people.gnome.org/~xan/testdom.c">here</a>; I use a two-step animation instead of using the full-blown <a href="http://webkit.org/blog/324/css-animation-2/">css transitions</a> because of a small technical issue that I didn&#8217;t want to fix before pushing this post, but of course we should be doing it right in the future. In fact, we should create proper APIs for CSS animations in general, not too different from what you have in, say, <a href="http://clutter-project.org/">Clutter</a>.</p>
<p>Most of the code for this is already in Webkit trunk, and now that the initial phase of the work is done I keep improving the code incrementally and pushing the patches to <a href="https://bugs.webkit.org/show_bug.cgi?id=33590">bugzilla</a>, where my compadre <a href="http://blog.kov.eti.br/">Gustavo</a> promptly reviews them. Now if you&#8217;ll excuse me I&#8217;ll go to expose all events as glib signals on the DOM objects, watch this space (or the upstream bug) for more updates. Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/xan/2010/04/28/just-the-bindings-maam/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://blogs.gnome.org/xan/files/2010/04/woot.ogg" length="184228" type="audio/ogg" />
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  blogs.gnome.org/xan/category/blogroll/feed/ ) in 1.49717 seconds, on Feb 10th, 2012 at 8:26 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 10th, 2012 at 9:26 am UTC -->
