The Web comes to GNOME, ready or not
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.
It’s always hard to summarize months or development in a few lines, but one can always try:
- Epiphany 3.0 uses the (soon to be released) WebKitGTK+ 1.4.0. I’ll write a blog post focusing on WebKit when 1.4.0 is out of the door, but some of the highligts of the release would be: GObject DOM bindings, already used by Epiphany and other GNOME apps. HTTP cache implementation, moved into libsoup later in the cycle. GTK+ 3.x support, which we laboriously kept going through all the development cycle. New APIs for plugin management, icon database and frame flattening, among others. HTML5 media support for fullscreen mode, volume management, cookies and Referer. A ton of bugfixes all across the board, from DnD, a11y, networking, and graphics performance to leak fixes, clipboard handling, history, theming and forms. WebKit 1.4.0 just works a lot better, and you’ll notice the minute you start using Epiphany 3.0.
- UI refinements all over the place: we use a GtkInfobar to inform of session restoration, a Chrome-like floating statusbar (implemented with GeditOverlay) instead of the pixel-eating traditional GtkStatusbar, we let the old, big and hardcoded EphySpinner go, new and nicer custom error pages, …
- The download UI was completely rewritten to fit better in the Shell. No more status icons and floating windows, we now show ongoing download information in a unobtrusive bottom bar.
- We took the GSettings migration as an opportunity to improve a bit our settings. In particular I think we have made the font defaults saner for the modern world, and hopefully people will be happier with how their pages look.
There’s still some small details that we want to improve for 3.0, so stay tuned for 3.0.1 (and more!) soon.
But we are not resting on our laurels! We are already busy planning and working on the features you’ll see in GNOME 3.2, 6 months from now:
- One of the main themes of the release will be further integration of the browser with the new GNOME UI and design. We are still in the brainstorming phase, but some of the front runners are replacing our menubar with the Shell’s global app menu (more space for your web content!) or integrating our tab/window management into the Shell user experience.
- A desktop that does not consider the Web a first class citizen in 2011 is not a modern desktop. For 3.2 we are going to bring your favorite web applications into the spotlight: hi-res launchers with custom .desktop files, separate epiphany instance per application, minimal chrome-less UI, and much more. Also, we have proposed this as one of the GSoC ideas for GNOME in 2011.
- We are also resurrecting the old idea of killing EphyNode and moving our bookmarks and history storage to something like sqlite, which should give us a much more faster and responsive experience. Martin and I are committed to get this working before I leave the Bay Area in May, so if by that date you see me around and this is not in master or in a git branch you can punch me in the face. Really.
One more thing
A year ago, almost to the day, the WebKit2 initiative was announced. As the project page says,WebKit2 aims to bring the split process model popularized by Google Chrome into the WebKit framework in a way that will allow all ports to benefit from the increased responsiveness, security and stability. At Igalia we have always been interested in bringing this new technology to our GTK+ port, and only a few days ago the last batch of patches in a long series finally landed upstream, allowing everyone to build the GTK+ version of WebKit2 directly from SVN trunk (you can read more details in Alex’s blog post!). We believe a split process model has quickly become a must-have for modern browsers, so we want to announce our commitment to port Epiphany to WebKit2 as soon as it is ready, and make this the default and only configuration available, as in Chrome. We are aiming to have an early alpha to show at GUADEC this year, and we’ll try to deliver a production ready version as early as GNOME 3.4, in 2012. We hope you’ll all be as excited as we are about this new stage in the history of the GNOME browser!
Until next time, happy hacking from your favorite band of gnome web hackers.