domenica 27 luglio 2014

There's no Guadec like this Guadec

...And that is true every year!

This is a very short post, because Guadec has barely started (the first of the core days was yesterday), but already we had the chance to go out and party togheter - which is Guadec is about, right?
More seriously, I'm really happy I had the chance to see all GNOME friends again, after last year in Brno, and I'd like to thank once again the Foundation for sponsoring me, even though I haven't been very active in the recent past.

On the technical side, I'm taking advance of this first break to start reviewing Saurabh's patches that are implementing the wonderful new design for GNOME Weather. Looking at the Shell, I had a nice conversation with Jasper, and the outcome was that in the short term, there won't be user visible changes (except of course for Carlos's work in the app view) - no new features but stability and bug fixes.

Again, this is a short post because we just started, I will do another blog post at the end. Stay tuned!

venerdì 11 aprile 2014

San Francisco Hackfest!

Hi everyone!

It's been a while since I last blogged, and I should probably even stop pretending I will blog more, but anyway...
Today is the third day of the GNOME Hackfest here at the Endless Mobile offices, in the startup neighborhood of San Francisco, in the hearth of the Silicon Valley - where stuff happens in technology, and free software is no exception.

So, what I have been doing?
On Wednesday we started with defining the agenda for the three days, and my friends already blogged about that.
I had the chance to meet with Kristian and the unstoppable Jasper to discuss wayland's xdg_surface, state changes and resizing - and that will mean we will bring an end to all flickering you see everyday in x11 when you maximize or resize a window. Not to mention we sorted out transients (popovers and tooltips) in a world where the application does not know its absolute position.
We also all toghether discussed application sandboxes, as Lennart and Kay were here and they were kind to explain how kdbus helps in making future applications secure.

Thursday morning on the other hand was gjs. Jasper, Cosimo, Colin and I sat down and landed a lot of GC improvements that will bring more responsiveness and less memory usage to your JS applications (as well as your favorite desktop shell). We introduced background sweeping for certain large objects such as byte arrays and cairo surfaces, we fixed cairo_region and GParamSpec bindings and we made sure the GC runs often.
In the afternoon we had a presentation by our host, Endless Mobile. We were shown what they're doing, and saw a prototype of their product (a BayTrail based desktop PC with a very stylish sort of oval case). I believe what they're trying to achieve is amazing, because really the emerging markets have billions of potential customers in a place where Windows doesn't matter, and will be great for GNOME and Free Software in general if they succeed.
After that Jim Nelson from Yorba and Daniel Foré from Elementary joined us for a long session on helping application developers, ISVs and other communities to use our platform. We talked IDEs, tooling, documentation, in preparation for the Developer Experience hackfest in Berlin. I won't be in Berlin (unfortunately it's exam week at my university), but it's been interesting to listen anway.

Besides work, I took some time on Tuesday to visit the city of San Francisco, walking all along the bay coast, and even had a chance to visit the university of Stanford, down in Palo Alto.
And for all of that I'm having a wonderful time, and I'd like to thank the GNOME Foundation and all the contributors for sponsoring me to come here.


giovedì 3 ottobre 2013

Every Frame Matters

Hello fellow readers, and welcome to an other installment of the least regular blog on the planet (or actually, not on the Planet anymore).

Last time, we were about to release 3.8, and this time, 3.10.0 is already out and we're working hard for 3.10.1, so today I want to talk about one of 3.10 features, that is, Wayland done in the GNOME way.

I worked hard on it during this summer, as part of my internship in Red Hat (which I'd like to thank once again for the opportunity), and others like Phoronix and Slashdot already covered it extensively, but what changed today is that finally all the bits are in place for wider testing on Fedora 20.

Once again, I'd like to point out that this is just a tech preview, and there are many huge regressions (listed in the 3.11 feature page). Some can be fixed using jhbuild and the wip/wayland-work branch, some are just not implemented yet, and some are bugs we don't know about. So try it, complain if it crashes, but don't expect to do any real work on it, and don't assume that the final wayland experience will be the same as now.

How to try it? First, you need an up to date GNOME 3.10 (gnome-shell >= 3.9.92-3.fc20), then you need the very latest X server (xorg-x11-server-Xorg >= 1.14.3-4.fc20, currently only in testing) and intel driver (xorg-x11-drv-intel >= 2.21.15-4.fc20, from updates-testing).
Then, there are two major modes now. The first one is nested inside an existing X11 session. From a virtual terminal, run "mutter-wayland --wayland".























Alternatively, you can run a full GNOME session in a different VT. Just go <Ctrl><Alt>F2 and run "gnome-session --session=gnome-wayland".
And this is what you get:



Doesn't look very different from a X11 GNOME session? Then I did my job well :)

To leave it, just log out from the menu. If you get stuck and can't logout (which can happen for some reason, probably a timeout issue in gnome-session), run "killall gnome-session gnome-shell-wayland" in a terminal.
Note that keybindings are not in 3.10, so VT switching only works if you do "sudo chvt" from a terminal.

More details on testing gnome can be found in the GNOME wiki

lunedì 18 marzo 2013

Under the shell of the developer

So, it's 3.7.92 time! Release notes are almost out, and if everything goes according to the plan, we'll be releasing our next stable version on March 27th.

As a member of the shell team, the big news is another successful round of Every Detail Matters. Go and see for yourself the eco-friendliness of that page: almost every line is green.
Among the many bugs, I'd like to highlight one, that has probably bugged each of you since 3.0: OSDs and global keybindings (screenshots, volume, input source, brightness) work in the overview, the screen lock and when a modal dialog is up.
Many thanks to Florian Müllner for implementing it!
About the rest, suffice to say that we tried to fix all the small annoyances and inconsistencies in the shell. And the release notes already include a very nice screenshot of them, so I won't steal the surprise until we're out.

Then on, the features side, it deserves a mention that we have a new application view, with frequently used apps and custom folders. I like it!

Going back to what I did, I already blogged on the most noticeable feature I worked on this cycle, notification filtering. But the awesome GNOME folks started patching all applications in this universe, so the panel looks a lot better now:


Then, it was a slow February, all exams out, I started hacking on Gjs. The result is an application framework that I will propose for 3.8. You can see a demo (which doubles as a template) at https://github.com/gcampax/gtk-js-app
But I needed a real application to validate what I was writing, and so GNOME Weather was born - again. And people started saw there was activity, I got a bugzilla product, and bam, magically I had patches from everywhere. Now say, isn't free software the best?
But wait no more, here is Weather 3.7.92 in all its glory.



Once again, thanks to Paolo Borelli, Cosimo Cecchi and William Jon McCann for all the help and code, and thanks to all flickr artists that, by choosing a free license, contributed to the success of this app.

So, what are you waiting for? Go grab GNOME 3.7.92!
Tarballs are at the usual location, and so are jhbuild and ostree. And I'm told the build server offers pre-built VM images, if you're into that.

sabato 1 dicembre 2012

Playing chase

Sometimes, you notice that writing an OS is like playing chase: sometimes you open the latest MS system, and go "Uhm... Where did I see that before?", and sometimes you proudly show the results of hours of work, and what you get is "Heh, everyone else did that ages ago!"

This is one of the latter moments. I hereby present you with the latest creation from the department of "It was about time!": Gnome Weather.


As you may guess, it is an app showing weather conditions for you location (like Win 8 does by default). It is still rough on the edges, as you may notice from the very pixelated icon, but it is there.
And I can't tell how much I love GNOME: I uploaded this four hours ago, and I already got Galician and Polish translations! People, you're simply great.

But this is not the only thing I've been working on lately. You may remember a find the difference Google+ post a while ago. For those of you who didn't care, and for those of you that still don't, what I wanted to highlight there were the finally fixed volume key handling, the headphone icon in the status bar, the modal dialogs in the overview and the new panel for configuring notifications.


Besides the global keybinding thing, which will be solved by Florian in a different way, all those things and many others are happening in GNOME 3.8.

So yeah, this was really because I was a long time since my last post, and because I felt particularly proud of what I achieved. Nothing special maybe, but I hope you enjoyed.


GNOME 3.8 is going to be the best winter release ever!

PS: to Jasper, re the linked post above: you really made my day with your comment :)
PS2: no it wasn't a modified background, it was the One And Only, except that noone ever sees that one in particular because it goes from midnight to 6 am...

sabato 18 agosto 2012

Final report for Summer of Code 2012

As the final evaluation approaches, it's time to sum up the project. It has been an amazing summer, but like all good things it has to come to an end at some point.

So, most of the work is already in master, for gnome-shell and gdm, so if you're run Fedora 18, this is what you'll get around Tuesday:

video

If you wanted to see the actual code changes, you could look at the git log for js/ui/unlockDialog.js and js/ui/screenShield.js, or commits with the tag ScreenShield. They're 43 here, so forgive me if I don't mention them explicitly.
However, this is what is waiting to be merged, spread around bugzilla (in particular 681143):


video

It's mostly similar, except for some minor issues that were promptly identified by the designers during the BOF session at GUADEC.

Wrapping up, I'd like to thank you my mentor, Marina, who has done a fantastic job of supporting me despite more important personal matters. I'd like to thank also the gdm and gnome-shell developer teams (in particular Ray and Jasper), as well as the whole design team, who is doing the best damage possible to the GNOME community. :D

martedì 14 agosto 2012

Soft pencils down

So we've come to this: the Google Summer of Code 2012 is almost over, and all projects are expected to be in the final refinement phase.
Personally, I think that software is never finished, especially when it comes to free software, but I'd say that the original plans for the summer where respected.
If you saw Matthias's post you probably know that the lock screen is included in 3.5.5, and thus is making into the unstable distribution.
There are still some minor issues, but I'm slowly addressing each one of them, and I'm sure the 3.6.0 release will not have you disappointed. As usual, if you want to follow the advancements closely, bugzilla is your friend.
And of course, we have features planned for 3.8 too, ranging from the PIN support (which was dropped as not ready) to the new Notifications panel.

In other words, GNOME 3.6 will rock, and so will 3.8, up to 3.12 - I mean, GNOME OS 4.0!

PS: speaking of GNOME OS, if you want to try GNOME Core 3.6, you can use OSTree, right now and without affecting your usual system.