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!
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 there are still some improvements to do I’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.
A long time ago, in a book whose title I have forgotten, I read something that went like:
Last week, together with GNOME 3.0, we released Epiphany 3.0. This is the result of many months of work (our last stable release was Epiphany 2.30 in May 2010), so I think a few lines about our present and our future are in order.
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’s no wonder than this little snippet became so popular, since we human beings are so fond of repeating history again and again.
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 side Igalia practices workplace democracy, which in practical terms means that you’ll have, shortly after joining, 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 “Web” thing is totally the future).
If this sounds like something you’d like to do drop me a line to any of my multiple mail addresses (I’m sure you’ll manage to find at least one of them) with any background information that you consider relevant.
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.
It has come to my attention that the GNOME Foundation is interested in my DEFCON app in order to better enforce the new Speaker Guidelines in current and future GUADECs. I’m happy to announce that the app is in fact for sale, so just contact xlopez at igalia.com for details.
PS: starting price is 500 EUR, it includes a tactical nuclear strike to the talk site when DEFCON 1 is hit.
It’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’s already happening in the road to 3.0.
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’t appear in Planet GNOME, click into my blog to see it):
What you just (hopefully) saw is a GTK+ button that, when clicked, gets all the links from its cousin WebKitWebView and makes them do a small bounce, all with the DOM APIs you know and hate^Wlove exported through GObject.
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 “evaluate this string as JavaScript”, 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 here; I use a two-step animation instead of using the full-blown css transitions because of a small technical issue that I didn’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, Clutter.
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 bugzilla, where my compadre Gustavo promptly reviews them. Now if you’ll excuse me I’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!
Starting this Saturday I’m going to spend a few days (at least 7) in Lisbon. Not really on holidays, but since my company is awesome and I just have to do my hours from anywhere I want I figured I might as well see a bit more of the world I live in.
So here’s the deal: if you live in the city, or near, and want to talk about free software, WebKit, GNOME, politics or metaphysics and get a free lunch, you can get that and in exchange you only have to show me around a bit. Or, better yet, do you belong to a LUG or any other social group with some interest in free software? If you want we can arrange some kind of GNOME/WebKit/Epiphany talk, or we can improvise some kind of hackfest (“Your first GNOME patch”?, “Become a WebKitGTK+ hacker in 4 hours”?). Or maybe you have better ideas? Just leave a comment in my blog, or drop me a few lines at ‘xan at gnome dot org’. See you around!
I hadn’t blogged about it yet, but the last weekend I crossed 10 time zones, one ocean and some insane border inspections to attend the first ever WebKit Contributors Meeting. I just returned to my hotel in San Francisco from two hectic days at the Apple campus in Cupertino, putting faces to the names I see daily in my WebKit work and attending some really interesting working sessions and hackatons. Of course a lot of productive discussions and coding happened, but I also value some incorporeal sense of unity and direction that you can get when you put a bunch of people that work together in a project physically in the same place for a couple of days; I’m already looking forward to next year’s meeting, and I thank Apple for organizing the event.
4 of us from Igalia have come to the US (Álex, Philippe, Juanjo and myself), and we’ll stay until Saturday to attend the Linux Collaboration Summit and do some fast-paced sight-seeing around the city (although we already enjoyed a great day off on Sunday with Martin around the city, including the awesome shoe-garden in Alamo Square).
To finish it off, I have to mention that I used the ever productive airplane time and some dead hours these days to advance quite a bit in the GObject DOM Bindings for WebKitGTK+, and that I can already correctly generate large enough portions of it to do actual applications and meaningful unit testing (basically, I cover Document and most of its dependencies!). More about this soon!