tag:blogger.com,1999:blog-63683228067805329262024-03-05T19:36:57.052-08:00G::Campax - Giovanni's tech blogAnonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-6368322806780532926.post-54774313038660158312017-10-20T10:01:00.002-07:002017-10-20T10:01:52.396-07:00An open, crowdsourced, privacy-preserving, virtual assistant (part 1)Hello all,<br />
<br />
<div style="text-align: justify;">
I have been encouraged to blog more, and that is not hard because anything is more than nothing. So here I am, while waiting for some Mechanical Turk results, with part one of a series of posts in which I'll explain the work we've been doing in the Mobisocial Computing Laboratory here at Stanford.<a href="#fn1" id="top1"><sup>1</sup></a> <a href="#fn2" id="top2"><sup>2</sup></a> </div>
<br />
To put it quick, we're building a Virtual Assistant called <b>Almond</b><a href="#fn3" id="top3"><sup>3</sup></a>. Think Siri or Alexa.<br />
<div style="text-align: justify;">
But 1) open 2) privacy-preserving and most importantly 3) way more powerful.</div>
<h2>
An Open Assistant</h2>
<div style="text-align: justify;">
Alexa has 15,000 skills. If you can think of something IoT, Alexa supports it. If you can think of some major website or web service, Alexa supports it. Amazon has over 5,000 developers working on Alexa, and there is 4 students and one professor working on Almond. How do you compete with that?</div>
<div style="text-align: justify;">
In short, you don't. Instead, you open the platform up, and let people contribute. Amazon didn't write the 15,000 skills themselves: people did, when the Echo became popular. In a similar spirit, they didn't write all the cool NLP technology: they ran the Alexa Challenge, and let the best researchers compete.<br />
Now, we don't have $ 1M to offer, but being a university, even if a private one, we're in an especially good position. So we decided to open source everything we do<a href="#fn4" id="top4"><sup>4</sup></a>.<br />
You can take our software, our ideas, our contributions, and make something cool with it. Our hope is that as people find it and start playing with it, they'll also contribute back, and the platform will grow.<br /></div>
<h2>
A Privacy-Preserving Assistant</h2>
<div style="text-align: justify;">
If you build an open assistant, but don't care about privacy, the first thing people will do is to take it, fork it, and make it care about privacy. It's amazing the overlap between people who understand computers, the people who care about software freedom and the people who care about privacy. So we decided to do the work ourselves.<br />
Our Assistant is built on two major principles to make it respect privacy:</div>
<ul>
<li><i>Separate what is private from what is public</i>: we collected the public information, such as the descriptions and glue code of the services to support, the datasets and machine learning models for semantic parsing, into an open repository called <a href="https://thingpedia.stanford.edu">Thingpedia</a>; everything else, such as your credentials, your data, your history of commands, stays in a private system called ThingSystem.
<li><i>Let you run your own Almond</i>: your ThingSystem contains your stuff only, so we let you run on the device you choose; there is no risk of privacy leaks, because the data never actually leaves the device. To make it easier to set up, we have a version of ThingSystem that works as a ready-to-install Android application (available <a href="https://play.google.com/store/apps/details?id=edu.stanford.thingengine.engine">on the Play Store</a>); we also have a version for desktop computers (based on GNOME technologies)<a href="#fn5" id="top5"><sup>5</sup></a> and for Echo-style home assistants.
</ul>
The two sides of the world, Thingpedia and ThingSystem, communicate with a third Thing*: <b>ThingTalk</b>, which is in my opinion the coolest part of Almond<a href="#fn6" id="top6"><sup>6</sup></a>. This is a formal programming language (a domain specific language, if you're into that) that exactly describes what the assistant should do. When you give a command to Almond, this command is translated into a ThingTalk program; this ThingTalk program makes use of Thingpedia, like a regular Java program would use maven or a node program would use npm. Your ThingSystem just takes this program, loads the libraries it needs, and runs it.<br />
<h2>
A Way More Powerful Assistant</h2>
<div style="text-align: justify;">
We're PhD students in a university, so unlike Amazon, Google, or even Red Hat and Canonical, building an useful open-source assistant that people will care about is not enough. You need to build something technologically new (or as they say here, “novel”).<br />
Our work checks that bullet by letting people do things that no other assistant can do. Specifically, our assistant supports <i>end user programming</i>, which is a fancy way of saying that the user should decide what the assistant can do, and not the programmers.<br />
Now, an end user will never “program” in the sense of writing an app a traditional language - it's not their job, they don't care, they want things done. Instead we interpret this to mean connecting things that already exists, in new and interesting ways. At the core, our ThingTalk programming language supports one single construct, <i>when - get - do</i>, which lets you specify that <i>when</i> something happens, you <i>get</i> some data and <i>do</i> something with it.<br />
For example, you can generate a meme and then send it to your friends in one go; you can look at your location and turn off the lights if you're not home; you can reply to emails automatically, and even have a different reply for your boss, for your family and for scammers; you can send cute pictures to your SO automatically (I do that).<br />
Every portion of the program is a high-level primitive, roughly corresponding to a single Alexa command, but now you can combine three of them in one sentence, meaning you can use stuff coming out from one command and feed it into the second. The result can also run on its own, so you do this rigmarole of setting up whens and gets and dos once, and then the assistant <i>just does things for you</i>. Additionally, you get to apply arbitrary predicates that limit when the action should run - like email filters, but for anything.
Because this is a fully general system, any combination you can think of is allowed. You just say it in natural language, and Almond does it for you.<br/>
Now, this raises some technical challenges, starting from the fact that the natural language commands are a lot more complicated that what Alexa can understand. Alexa gets away with 15,000 skills because they force you to use one of a few magic words (“ask”, “tell”, “open”, “play”) followed by the <i>exact name of the thing you want</i>; after that, you only only have a few choices of commands. It would be totally uncool if we required you to do that: “Almond, connect GMail to GMail when I receive an email then send an email” just sounds weird, “Almond, reply to my emails automatically” sounds a lot more natural. I'll go into more details on semantic parsing in the next blog post in this series, but suffice to say, this is hard and nobody has a magic bullet yet.<br/>
Additionally, when - get - do on your own stuff in voice is nice, but the sentences get long and repetitive real quick, and the programming is quite limited still. Can we do better for every day repetitive tasks? Can we be more engaging than a monotone serial voice output? Can we let you share your stuff with other people, so they can operate on it from their Almonds? Can we let you put any sort of restrictions on who can touch your stuff, where, when and what they can do with it? Turns out we can, but this is the material for the next posts in this series. Stay tuned!
</div>
<br/>
<br/>
PS: I changed the title of the blog because sadly I don't do as much GNOME stuff as I used to. I don't do that much C++ either, but heh.
<hr width="80%" />
<span class="Apple-style-span" style="font-size: x-small;"><br />
<a id="fn1"><b>1 </b></a>This is work done in collaboration with Rakesh Ramesh, Silei Xu and Michael Fischer, under the supervision of prof. Monica Lam.<a href="#top1"><sup>↩</sup></a><br />
<a id="fn2"><b>2 </b></a>I should emphasize that the views expressed in this post are mine and do not reflect the view of Stanford, the Mobisocial Lab, or my colleagues.<a href="#top2"><sup>↩</sup></a><br />
<a id="fn3"><b>3 </b></a>Yes, like the nut. It's because we're nuts.<a href="#top3"><sup>↩</sup></a><br />
<a id="fn4"><b>4 </b></a><a href="https://github.com/Stanford-Mobisocial-IoT-Lab">https://github.com/Stanford-Mobisocial-IoT-Lab</a>.<a href="#top3"><sup>↩</sup></a><br />
<a id="fn5"><b>5 </b></a>I should eventually turn around and package it as a flatpak. For now you need to build it from source. Help welcome!<a href="#top5"><sup>↩</sup></a><br />
<a id="fn6"><b>6 </b></a>Also my thesis. But my judgement is totally unbiased, <i>believe me</i>.<a href="#top6"><sup>↩</sup></a><br />
</span>Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com0tag:blogger.com,1999:blog-6368322806780532926.post-19186227547510471302014-08-02T05:46:00.000-07:002014-08-02T05:46:55.102-07:00Damn French, they ruined France... but they did not ruin another great GUADEC!<br />
<br />
As I promised at the beginning, I would do another blog post at the end, and this is it.<br />
The first days were hectic as usual, with lots of great presentations, lighting talks and team reports for what others have been doing for the last past years. Many people already blogged on this topic, and video recordings will be out soon, so I would not go further on this.<br />
As a special exception, though, go check out Christian Hergert's <a href="http://www.hergert.me/blog/2014/07/29/gnome-builder.html">talk on GNOME Builder</a>: he is awesome for quitting his job and deciding to investing so much of his own time and money into making our lives easier with better development tools.<br />
<br />
Following the core days, came the BOFs. I attended the Release Team meeting, where a lot of process clean ups were approved, hopefully making the requirements for being "part of GNOME" (at the various levels) clearer and more transparent.<br />
I also went to the GTK+ meeting, but lack of sleep from the previous days together with awesome Belgian beer that turns out to be French beer (also from the days before) turned me into a zombie background figure. Stay tuned for GTK+ 3.16 though, that's where all the fun (actors^H layers, a better list model, full wayland support, and more) will be!<br />
Finally it's probably a good thing I did not attend the Privacy BOF, because it would have been quite embarrassing considering how poor is the privacy story with GNOME Weather is: through the search provider, we would send the stored locations to the upstream services (often in clear text, and often including the current location) every time a search was performed in the overview. This is obviously unacceptable, unless the user opts in, so the search provider will be disabled by default (when <a href="https://bugzilla.gnome.org/show_bug.cgi?id=734048">#734048</a> lands).<br />
<br />
Speaking of GNOME Weather, if you follow the Summer of Code projects you may know that there is an intern working on a complete redesign on the app. He personally wasn't at GUADEC unfortunately, but I had some time to sit down with the ever awesome Allan Day to work out all the details.<br />
The code is not in master (it will be when I run the final tests and reviews, but it's almost ready, and will surely be in 3.13.90), but I can show you a preview:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrOBAjvarOOknUeLa8kNR8bwAFpfH0SjoiK209XqkJUJIuJIkvcle9lircx2wJlanEYU4RR8HadMJGa44g43cLYedp543c3KJ4G5dq8LXXP1M8TrLJNZ-W28m7eeY7sapNVfY9_rHY3W2p/s1600/Screenshot+from+2014-08-02+14:39:10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrOBAjvarOOknUeLa8kNR8bwAFpfH0SjoiK209XqkJUJIuJIkvcle9lircx2wJlanEYU4RR8HadMJGa44g43cLYedp543c3KJ4G5dq8LXXP1M8TrLJNZ-W28m7eeY7sapNVfY9_rHY3W2p/s1600/Screenshot+from+2014-08-02+14:39:10.png" height="480" width="640" /></a></div>
<br />
<br />
(you can see we've come a long way since <a href="http://gcampax.blogspot.it/2012/12/playing-chase.html">the original announcement</a>!)<br />
<br />
This is all for now. I'd like to thank the GNOME Foundation for sponsoring me, and see you next year!<br />
<br />
<div style="display: table; table-layout: fixed; width: 100%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjromdngeSWzyexRdzqqAuahpOH0CN12C10ccb_4uM5kiU4DchCDEIV8TiLNtKx11sLQD7XTCybkrb3-WK1erQdOTp5vpcghwVY3GuoE_vbLGkXM0ngK1YJiiVEjsbbVENeVTaIEplWAsrq/s1600/sponsored-badge-shadow.png" imageanchor="1" style="display: table-cell; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjromdngeSWzyexRdzqqAuahpOH0CN12C10ccb_4uM5kiU4DchCDEIV8TiLNtKx11sLQD7XTCybkrb3-WK1erQdOTp5vpcghwVY3GuoE_vbLGkXM0ngK1YJiiVEjsbbVENeVTaIEplWAsrq/s1600/sponsored-badge-shadow.png" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgb_kO0o9rwOnratXCpuTiNuEckVPGnNVN3gLdb5P6jzHSvRSnm8US1qgjog3kWndP-7m5_h8UKgfhNi57CEU1wDe5_lI91iYihSRXGyRLqt92bKKWAORPaz8jiK0i9b0mBkd2SCEK16O-/s1600/iamgnome.png" imageanchor="1" style="display: table-cell; margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgb_kO0o9rwOnratXCpuTiNuEckVPGnNVN3gLdb5P6jzHSvRSnm8US1qgjog3kWndP-7m5_h8UKgfhNi57CEU1wDe5_lI91iYihSRXGyRLqt92bKKWAORPaz8jiK0i9b0mBkd2SCEK16O-/s1600/iamgnome.png" /></a></div>
<br />
<br />
PS: the title is just a reference of a famous quote by Groundskeeper Willie from The Simpsons, and it's not meant to be in any way unfriendly to our transalpine neighborsAnonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com0tag:blogger.com,1999:blog-6368322806780532926.post-13478482096325348142014-07-27T00:26:00.000-07:002014-07-27T00:26:52.695-07:00There's no Guadec like this Guadec<div style="text-align: justify;">
...And that is true every year!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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?</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
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.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Again, this is a short post because we just started, I will do another blog post at the end. Stay tuned!</div>
Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com0tag:blogger.com,1999:blog-6368322806780532926.post-31642491554590436992014-04-11T09:33:00.001-07:002014-04-11T09:33:32.821-07:00San Francisco Hackfest!Hi everyone!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5U3HBupw6ZNUNTgDxaJshFcZbdm15GIGH6duYvd-E8jUL5pALIfmoteJ4Bjybgavp2pq5f4qamM8BEStswxH-C8HqRzItWTUHzd1lYYyGEdSpWPV2l8YgD9sAtlwhqCH5gEzMzi3lkSaz/s1600/20140408_161138.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5U3HBupw6ZNUNTgDxaJshFcZbdm15GIGH6duYvd-E8jUL5pALIfmoteJ4Bjybgavp2pq5f4qamM8BEStswxH-C8HqRzItWTUHzd1lYYyGEdSpWPV2l8YgD9sAtlwhqCH5gEzMzi3lkSaz/s1600/20140408_161138.jpg" height="180" width="320" /></a></div>
It's been a while since I last blogged, and I should probably even stop pretending I will blog more, but anyway...<br />
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.<br />
<br />
So, what I have been doing?<br />
On Wednesday we started with defining the agenda for the three days, and my friends already blogged about that.<br />
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.<br />
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.<br />
<br />
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.<br />
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.<br />
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.<br />
<br />
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.<br />
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.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjromdngeSWzyexRdzqqAuahpOH0CN12C10ccb_4uM5kiU4DchCDEIV8TiLNtKx11sLQD7XTCybkrb3-WK1erQdOTp5vpcghwVY3GuoE_vbLGkXM0ngK1YJiiVEjsbbVENeVTaIEplWAsrq/s1600/sponsored-badge-shadow.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjromdngeSWzyexRdzqqAuahpOH0CN12C10ccb_4uM5kiU4DchCDEIV8TiLNtKx11sLQD7XTCybkrb3-WK1erQdOTp5vpcghwVY3GuoE_vbLGkXM0ngK1YJiiVEjsbbVENeVTaIEplWAsrq/s1600/sponsored-badge-shadow.png" height="200" width="200" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAaWOWrtk6byvhYtjQNLEksMcIiLoL1FOC7pv604PAWicLjVn4CLwBcpPsvs_ODxNJ83LEjIPHeg2SEV2LbZdsjga05xHy0nwoPfXv0J9xOQgm1lPrAkdkaorN3iBdhDOE1nNeD9x3G_d7/s1600/iamgnome.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAaWOWrtk6byvhYtjQNLEksMcIiLoL1FOC7pv604PAWicLjVn4CLwBcpPsvs_ODxNJ83LEjIPHeg2SEV2LbZdsjga05xHy0nwoPfXv0J9xOQgm1lPrAkdkaorN3iBdhDOE1nNeD9x3G_d7/s1600/iamgnome.png" height="200" width="200" /></a></div>
<div class="separator" style="clear: both;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com1tag:blogger.com,1999:blog-6368322806780532926.post-52866891057876919512013-10-03T08:06:00.003-07:002013-10-03T08:06:42.550-07:00Every Frame MattersHello fellow readers, and welcome to an other installment of the least regular blog on the planet (or actually, not on the Planet anymore).<br />
<br />
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.<br /><br />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.<br /><br />Once again, I'd like to point out that this is just a tech preview, and there are many huge regressions (listed in the <a href="https://wiki.gnome.org/ThreePointEleven/Features/WaylandSupport">3.11 feature page</a>). 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.<br /><br />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).<br />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".<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7y2uQMOUfRpvKmWamrXonssUyJ77qqYq3BRsT4BKI-2E0nyL00D6WaNUB8-B730ona2HWqFpdblr13QUdjP0Eoi5sbicdB48F-QTi_26mmYpCjGk29JcmRZLGI09KLRGS15wpGHNqGB8W/s1600/Schermata+da+2013-10-03+16:56:52.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="315" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7y2uQMOUfRpvKmWamrXonssUyJ77qqYq3BRsT4BKI-2E0nyL00D6WaNUB8-B730ona2HWqFpdblr13QUdjP0Eoi5sbicdB48F-QTi_26mmYpCjGk29JcmRZLGI09KLRGS15wpGHNqGB8W/s400/Schermata+da+2013-10-03+16:56:52.png" width="400" /></a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Alternatively, you can run a full GNOME session in a different VT. Just go <Ctrl><Alt>F2 and run "<span style="font-family: "Courier New",Courier,monospace;">gnome-session --session=gnome-wayland</span>".<br />And this is what you get:<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuX6rCWX8-XxrRPARUPEQEPNLHBkFJkc2smSCJpsbxRIttVe2YbFNsM9CY4ed_tbpRmsAyjrepPLIkuQjbsqiZACJoCKLSH67TU_9epSmXZe23N6FU1qEqfGKP46_JDpFchBID4cP7CSr9/s1600/Screenshot+from+2013-10-03+16:35:54.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuX6rCWX8-XxrRPARUPEQEPNLHBkFJkc2smSCJpsbxRIttVe2YbFNsM9CY4ed_tbpRmsAyjrepPLIkuQjbsqiZACJoCKLSH67TU_9epSmXZe23N6FU1qEqfGKP46_JDpFchBID4cP7CSr9/s640/Screenshot+from+2013-10-03+16:35:54.png" width="640" /></a><br />
<br />
Doesn't look very different from a X11 GNOME session? Then I did my job well :)<br /><br />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.<br />Note that keybindings are not in 3.10, so VT switching only works if you do "sudo chvt" from a terminal.<br /><br />More details on testing gnome can be found in the <a href="https://wiki.gnome.org/Wayland/TryingIt">GNOME wiki</a>Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com5tag:blogger.com,1999:blog-6368322806780532926.post-73751566935913570782013-03-18T14:23:00.000-07:002013-03-18T14:23:57.073-07:00Under the shell of the developerSo, it's 3.7.92 time! Release notes are almost out, and if everything goes according to the <a href="http://www.gnome.org/start/unstable">plan</a>, we'll be releasing our next stable version on March 27th.<br />
<br />
As a member of the shell team, the big news is another successful round of Every Detail Matters. Go and <a href="https://live.gnome.org/EveryDetailMatters/RoundTwo">see for yourself</a> the eco-friendliness of that page: almost every line is green.<br />
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.<br />
Many thanks to Florian Müllner for implementing it!<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJKp9tckG3YoZ0MhUPODD5kuzpTR8WSP5EGxs2zKFmB9XOEw2VzivZo-l-hRcaDvK1gJTZX1BsGmM8VtV0PoD3FpykeqpAgt39klqTtfUwjFNGlqqqiLMCayF1PRSLqolWJCfnkJ16NOq1/s1600/Schermata+da+2013-03-18+21:52:46.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJKp9tckG3YoZ0MhUPODD5kuzpTR8WSP5EGxs2zKFmB9XOEw2VzivZo-l-hRcaDvK1gJTZX1BsGmM8VtV0PoD3FpykeqpAgt39klqTtfUwjFNGlqqqiLMCayF1PRSLqolWJCfnkJ16NOq1/s320/Schermata+da+2013-03-18+21:52:46.png" width="320" /></a>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.<br />
<br />
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!<br />
<br />
Going back to what I did, I already blogged on the most noticeable feature I worked on this cycle, <a href="https://live.gnome.org/ThreePointSeven/Features/NotificationFiltering">notification filtering</a>. But the awesome GNOME folks started patching all applications in this universe, so the panel looks a lot better now:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2AefpdBZ3K8Uo4AnxyIPrf_lTld8iAhxhG0rg7by2M4AT10pOBdOEfJ557eW0pOtC2_6B7QSTubIyM3kwk9pBpZtQ7zb0p8xIIs80QhW4gkHUA_1ax8lWSY6a8FFYx1cajpBiKx59xO8p/s1600/Schermata+da+2013-03-18+22:04:39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2AefpdBZ3K8Uo4AnxyIPrf_lTld8iAhxhG0rg7by2M4AT10pOBdOEfJ557eW0pOtC2_6B7QSTubIyM3kwk9pBpZtQ7zb0p8xIIs80QhW4gkHUA_1ax8lWSY6a8FFYx1cajpBiKx59xO8p/s640/Schermata+da+2013-03-18+22:04:39.png" width="640" /></a></div>
<br />
Then, it was a slow February, all exams out, I started hacking on Gjs. The result is an <a href="https://live.gnome.org/GiovanniCampagna/Experiments/Package">application framework</a> that I will propose for 3.8. You can see a demo (which doubles as a template) at <a href="https://github.com/gcampax/gtk-js-app">https://github.com/gcampax/gtk-js-app</a><br />
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?<br />
But wait no more, here is Weather 3.7.92 in all its glory.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD8OqRKXw8Du_pkukFXBELbrWv1VK8gqPtoF-uAplfWr67x1lxm8cgHnnBu6djagewuKvnB6dyxKw0d-FbS_15lSA0-QAbLToVsMfCm_VLdvmyNySEK6QI7LPip4QffDRWrLqHun6D1J3T/s1600/Schermata+da+2013-03-18+22:13:11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="416" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD8OqRKXw8Du_pkukFXBELbrWv1VK8gqPtoF-uAplfWr67x1lxm8cgHnnBu6djagewuKvnB6dyxKw0d-FbS_15lSA0-QAbLToVsMfCm_VLdvmyNySEK6QI7LPip4QffDRWrLqHun6D1J3T/s640/Schermata+da+2013-03-18+22:13:11.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihqmFXFvOQVYb_n1ZTrAYj-g0E3oJ4qjPI-Y2pRFCApMoUrciQwcKf2V4qsqf8QTlewzfZKuiY1G1dQItmLRkXuW7l9aMzmgZp_MHBA0hSakdjVPlhq99ZMSp4tuLPqT5siAdj9Ynh9N4u/s1600/Schermata+da+2013-03-15+22:51:51.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="438" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihqmFXFvOQVYb_n1ZTrAYj-g0E3oJ4qjPI-Y2pRFCApMoUrciQwcKf2V4qsqf8QTlewzfZKuiY1G1dQItmLRkXuW7l9aMzmgZp_MHBA0hSakdjVPlhq99ZMSp4tuLPqT5siAdj9Ynh9N4u/s640/Schermata+da+2013-03-15+22:51:51.png" width="640" /></a></div>
<br />
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.<br />
<br />
So, what are you waiting for? Go grab GNOME 3.7.92!<br />
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.Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com13tag:blogger.com,1999:blog-6368322806780532926.post-77647689183382942602012-12-01T16:05:00.000-08:002012-12-01T16:05:27.917-08:00Playing chaseSometimes, 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!"<br />
<br />
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.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Rhn7XRpuwWVvDnl_HDkXsY8tgtLgaiGDXYPJJhrgdCTachcR9ph3zZoLWN3nU3m9B0T0vHtRYV_zZd6I_u5kvSdNGNMInI5WD6pwfkz6_QFE9e1CdaSEDPkHjYPeuZyxo3HNi7KaN6me/s1600/Schermata+del+2012-12-02+00:38:01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="355" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Rhn7XRpuwWVvDnl_HDkXsY8tgtLgaiGDXYPJJhrgdCTachcR9ph3zZoLWN3nU3m9B0T0vHtRYV_zZd6I_u5kvSdNGNMInI5WD6pwfkz6_QFE9e1CdaSEDPkHjYPeuZyxo3HNi7KaN6me/s640/Schermata+del+2012-12-02+00:38:01.png" width="640" /></a></div>
<br />
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.<br />
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.<br />
<br />
But this is not the only thing I've been working on lately. You may remember a <a href="https://plus.google.com/112529497463297468627/posts">find the difference Google+ post</a> 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.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNA_oBIKWL1ViV2NoIB3iFYX9BTGdf63umMCTPOgTEendm7ABM4rOM-Pq6DmXv9-byUVuSlJeR-wXkUcwbNGTEERDSCnNVkxN_BIYXCtSnpKz6wc4q4ZNCId_XHpkaFUut6TJDJj9Uzpnw/s1600/Schermata+del+2012-12-02+00:46:49.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNA_oBIKWL1ViV2NoIB3iFYX9BTGdf63umMCTPOgTEendm7ABM4rOM-Pq6DmXv9-byUVuSlJeR-wXkUcwbNGTEERDSCnNVkxN_BIYXCtSnpKz6wc4q4ZNCId_XHpkaFUut6TJDJj9Uzpnw/s320/Schermata+del+2012-12-02+00:46:49.png" width="320" /></a></div>
<br />
Besides the global keybinding thing, which will be solved by Florian in a different way, all those things and <a href="https://live.gnome.org/EveryDetailMatters">many others</a> are happening in GNOME 3.8.<br />
<br />
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.<br />
<br />
<br />
GNOME 3.8 is going to be the best winter release ever!<br />
<br />
PS: to Jasper, re the linked post above: you really made my day with your comment :)<br />
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...Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com6tag:blogger.com,1999:blog-6368322806780532926.post-6053205948726111392012-08-18T09:52:00.000-07:002012-08-18T09:52:09.277-07:00Final report for Summer of Code 2012As 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.<br />
<br />
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:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxuCyXc991V8UOQL9uMB2GWCaJx20t9UcTN_bCWYsGgnR-yR8aYpa4oTn5XaNfdAcWM6BNKYqB6_vlhhlloxg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
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.<br />
However, this is what is waiting to be merged, spread around bugzilla (in particular 681143):<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dwbyt1ggs-0RiRx0nQCeZYE2OZ_he_MiOoz_KpbkTIL71wV2NerTmZbfARv7Fn-PrMv9CRHLVyZazhgkYif4Q' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
It's mostly similar, except for some minor issues that were promptly identified by the designers during the BOF session at GUADEC.<br />
<br />
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. :DAnonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com3tag:blogger.com,1999:blog-6368322806780532926.post-11716336778144080272012-08-14T04:58:00.000-07:002012-08-14T04:58:13.657-07:00Soft pencils down<div class="separator" style="clear: both; text-align: center;">
<a href="http://sanctuaryofmyreflections.files.wordpress.com/2012/06/pencil_sxu-731460.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="73" src="http://sanctuaryofmyreflections.files.wordpress.com/2012/06/pencil_sxu-731460.jpg" width="320" /></a></div>
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.<br />
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.<br />
If you saw Matthias's <a href="http://blogs.gnome.org/mclasen/2012/08/11/gnome-3-5-5-impressions/">post</a> you probably know that the lock screen is included in 3.5.5, and thus is making into the unstable distribution.<br />
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, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=681143">bugzilla</a> is your friend.<br />
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.<br />
<br />
In other words, GNOME 3.6 will rock, and so will 3.8, up to 3.12 - I mean, GNOME OS 4.0!<br />
<br />
PS: speaking of GNOME OS, if you want to try GNOME Core 3.6, you can use <a href="https://live.gnome.org/OSTree/GnomeOSTree">OSTree</a>, right now and without affecting your usual system.Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com1tag:blogger.com,1999:blog-6368322806780532926.post-31260150981154859292012-07-29T09:03:00.002-07:002012-07-29T09:03:30.229-07:00Halfway through GUADECUnbelievable, I made to end of the first part of GUADEC without mental or physical injury.<br />
No I'm kidding, so far it has been awesome, with plenty of interesting talks around GNOME technologies, it's history, community and vision for the future. Not to mention talking to all GNOME hackers, both of tech stuff and random small talk :)<br />
Outside of the conferences, we had the Intern Games (an awesome idea by Diego), and we won them! :D<br />
<br />
So a big thanks to the GNOME foundation for sponsorship!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjromdngeSWzyexRdzqqAuahpOH0CN12C10ccb_4uM5kiU4DchCDEIV8TiLNtKx11sLQD7XTCybkrb3-WK1erQdOTp5vpcghwVY3GuoE_vbLGkXM0ngK1YJiiVEjsbbVENeVTaIEplWAsrq/s1600/sponsored-badge-shadow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjromdngeSWzyexRdzqqAuahpOH0CN12C10ccb_4uM5kiU4DchCDEIV8TiLNtKx11sLQD7XTCybkrb3-WK1erQdOTp5vpcghwVY3GuoE_vbLGkXM0ngK1YJiiVEjsbbVENeVTaIEplWAsrq/s1600/sponsored-badge-shadow.png" /></a></div>
<br />
if you're reading this, consider <a href="http://www.gnome.org/friends/">donating to GNOME</a>!Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com0tag:blogger.com,1999:blog-6368322806780532926.post-90655331546880658462012-07-25T04:25:00.001-07:002012-07-25T04:25:16.453-07:00A Coruña UX HackfestThis Is Just Cool.<br />
I've never been to an hackfest before, but I must say it's amazing, finally meeting and getting to know the people behind GNOME personally. I mean, we did have our amount of tech discussion, some of it got quite heated, but in the end we reached a constructive conclusion on every point, which is not at all bad. Talking with designers face to face makes it very clear that yeah, they know what their doing!<br />
<br />
The plan was to deal with file management and in the overview search (first day), and initial setup experience (second day, that is, today). We completely redesigned Nautilus toolbar and menus (again!) and we streamlined the Gtk file chooser, integrating content selection across the OS. Because what is clear, we want to build an OS, top-down, and we will get there, at some point.<br />
<br />
Right now is blogging break (or gnome memes break really), so I'd like to take advantage of it to thank the companies the sponsored the event:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwi0mOMui7zDf_WYzCfpYH1KnWBYLWTj_7EJmNyrS7Fy3nRWUdGcGcOhkX6xBDZx8-yilDkUC3s16C1bbEhuORTM8G8pgCialyVd4K2Nu9eAJjQU7pNgaugvMpQ9zL6VvGZKNass62PWq0/s1600/hackfest-sponsors-vertical.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwi0mOMui7zDf_WYzCfpYH1KnWBYLWTj_7EJmNyrS7Fy3nRWUdGcGcOhkX6xBDZx8-yilDkUC3s16C1bbEhuORTM8G8pgCialyVd4K2Nu9eAJjQU7pNgaugvMpQ9zL6VvGZKNass62PWq0/s320/hackfest-sponsors-vertical.png" width="320" /></a></div>
<br />
Also, I got a Red Hat sticker, that looks just so better than the Windows 7 logo next to it. I'm hoping to get one from Igalia too!Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com0tag:blogger.com,1999:blog-6368322806780532926.post-10908425420439477072012-07-15T09:32:00.003-07:002012-07-15T09:32:50.595-07:00Halfway there! (GSoC "weekly" report)So here we are, at the Midterm Evaluation checkpoint.<br />I must say I'm satisfied with how the project ended up so far. I would consider it feature complete now, and code review has begun, both in gdm (with Ray Strode churning through the long patchset and turning the old code base into something quite nice) and in gnome-shell (thanks to my mentor Marina and to the never stopping Jasper).<br />
Also, compared to the last update, I finished the planned features, of which the most prominent is the PIN authentication, that is a touch friendly replacement for passwords, only meant for local logins. Obligatory screenshot:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_UU5nwiLjQEF856Z4l7Guv3hMbZtJAGRckzSwHJkVr9nMt_w7m5oC4lDFXoNRHa-O_B2Iw31ND5Tv4pwaGSVDpQZd-kbWJhxtGJRfe2irX5oP1w6HjL8B6c-ARiQXKaGigR3fBqdoe0lr/s1600/pin+unlock.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_UU5nwiLjQEF856Z4l7Guv3hMbZtJAGRckzSwHJkVr9nMt_w7m5oC4lDFXoNRHa-O_B2Iw31ND5Tv4pwaGSVDpQZd-kbWJhxtGJRfe2irX5oP1w6HjL8B6c-ARiQXKaGigR3fBqdoe0lr/s640/pin+unlock.png" width="640" /></a></div>
<br />This final part, while implemented and working here, may not be ready for 3.6, as it is a bit unstable, and the required configuration bits are not there yet.<br />
<br />
My plan now? First of all, rebasing all this on the new libgdm (which will require some work to get a testing environment). Then I hope to land this right after 3.5.4, and showcase it at the GUADEC. Because, just in case I forgot:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://guadec.org/sites/www.guadec.org/files/banner-125.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://guadec.org/sites/www.guadec.org/files/banner-125.png" /></a></div>
<br />
I will be speaking during the Lightning Talks session, so if you are interestered, don't miss them!Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com0tag:blogger.com,1999:blog-6368322806780532926.post-17324469051747225282012-06-26T13:11:00.001-07:002012-06-26T13:11:27.410-07:00Biweekly report #3Hello Planet GNOME readers!<br /><br />No nice looking screenshots this time, unfortunately. I've been incredibly busy for the past two weeks, partly because of the university, and partly for other bugs and stuff around GNOME that needed attention.<br />
I did got around to two points of the Screen Lock feature:<br />
<ul>
<li>I implemented the screenshield watchdog process, meaning that gnome-shell crashing will not allow random user to see through the lock screen (they'll instead stare at a nice black screen)</li>
<li>I talked with the designers about the lock control center panel, resulting in a new mockup, quite different from the implemented one. Further discussion is needed though, as some points (like rotation, or renaming Displays to External Displays) are not convincing.</li>
</ul>
I believe I'm still within deadlines, although they're becoming stricter and stricter, in particular with the summer exam session starting this week. In the next weeks I'll be working on PIN autentication, first in the accountsservice and then on the shell UI. I also want to discuss with designers on the "mega status menu", as I personally see no reason to have it in place of the usual menus.<br />
And then testing, testing, testing - we have the watchdog now, but the less we see it, the better!Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com0tag:blogger.com,1999:blog-6368322806780532926.post-31177346604065073682012-06-10T07:31:00.002-07:002012-06-10T07:31:14.554-07:00Biweekly report #2Hello again fellow GNOMErs,<br />
<br />
this is my second update on my Summer of Code project.<br />
As planned in the previous report, I spent the past two weeks implementing notification integration in the lock screen, and this is the result:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-wfnzQouok1A/T9SqT_wEbsI/AAAAAAAAANE/QMK4kmO5Cqo/s1600/screen-lock-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://1.bp.blogspot.com/-wfnzQouok1A/T9SqT_wEbsI/AAAAAAAAANE/QMK4kmO5Cqo/s640/screen-lock-2.png" width="640" /></a></div>
<br />
(thanks to Luca for accepting to appear in the screenshot)<br />
<br />
As you can see, resident notifications, such as those created by Rhythmbox, are shown in full, and can be interacted, while persistent notifications are grouped by source, with a message counter.<br />
<br />
Also, I worked to update the appearance of the unlocking dialog, to fully match the mockups:<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVVQobwq00RZ8mzT05J6Qu5HWI0p9XqNQ_V0GP6m5nxVvKvMQ4_Xf2Sp4VGfgYogfAOYAEOkd7FH1mIdyr113SXIkw2go2dfEwS420hjaOSrsSrONBB06EOf7uHh0i3cjGTgEQF4YXkvhl/s1600/unlock-dialog-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVVQobwq00RZ8mzT05J6Qu5HWI0p9XqNQ_V0GP6m5nxVvKvMQ4_Xf2Sp4VGfgYogfAOYAEOkd7FH1mIdyr113SXIkw2go2dfEwS420hjaOSrsSrONBB06EOf7uHh0i3cjGTgEQF4YXkvhl/s640/unlock-dialog-2.png" width="640" /></a><br />
<br />
<br />
The next week will probably spent on two parallel directions.<br />
On the one hand, I'll work to fix any bugs that should appear, and to integrate suggestions and comments from code review; as an example, I was already told to try using ClutterDragAction for the curtain behavior<br />
On the other hand, I'm going to help with the new lock screen panel (<a href="https://bugzilla.gnome.org/show_bug.cgi?id=658660">GNOME bug 658660</a>). This in particular will be needed to control the visibility of notifications, as it was decided that the full notifications panel is out of scope for this project.<br />
<br />
See you in two weeks!Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com14tag:blogger.com,1999:blog-6368322806780532926.post-9053270410015282242012-05-28T13:30:00.000-07:002012-05-28T13:30:29.976-07:00Going to GUADEC 2012 (and weekly report)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjromdngeSWzyexRdzqqAuahpOH0CN12C10ccb_4uM5kiU4DchCDEIV8TiLNtKx11sLQD7XTCybkrb3-WK1erQdOTp5vpcghwVY3GuoE_vbLGkXM0ngK1YJiiVEjsbbVENeVTaIEplWAsrq/s1600/sponsored-badge-shadow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
I'm very proud to announce that I'm going to attend GUADEC 2012, as well as the UX Hackfest.<br />
I'm happily<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjromdngeSWzyexRdzqqAuahpOH0CN12C10ccb_4uM5kiU4DchCDEIV8TiLNtKx11sLQD7XTCybkrb3-WK1erQdOTp5vpcghwVY3GuoE_vbLGkXM0ngK1YJiiVEjsbbVENeVTaIEplWAsrq/s1600/sponsored-badge-shadow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjromdngeSWzyexRdzqqAuahpOH0CN12C10ccb_4uM5kiU4DchCDEIV8TiLNtKx11sLQD7XTCybkrb3-WK1erQdOTp5vpcghwVY3GuoE_vbLGkXM0ngK1YJiiVEjsbbVENeVTaIEplWAsrq/s1600/sponsored-badge-shadow.png" /></a></div>
and I would like to thank them a lot!<br /><br />
But it doesn't end here: the title says "Weekly report", so here you are with another round of rock^H^H^Hlocking.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dwzrX1dnjTYjMHwPTBC8Wes-2mACU94fWG5Wc5L69ieBkItmMog-IzTmbySyLStFT78lMiS2Ch8JnNBHo3ZDg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
(sorry if the screencast is badly cut, I had problems with both pitivi and openshot...) <br />
So what did I achieve here, since my last post?<br />The biggest change is the implementation of the curtain design, which essentially entails splitting the lock screen into a part with the background and the clock, and another with the actual unlocking dialog.<br />
The second big change is showing both the panel and the message tray in the locked screen. This means, among other things, that you can now enjoy the on-screen-keyboard.<br />While I was there, following <a href="https://live.gnome.org/GnomeOS/Design/Whiteboards/LoginScreen">the login screen designs</a>, I made the gdm greeter use this. And I <a href="http://www.tomshardware.com/news/the-oatmeal-how-to-fix-computer,12618.html">quietly wept</a>, as I tried to test this on a F17 (now F18) VM, rebuilding glib, gsettings-desktop-schemas (which has a lovely broken upgrade path too), gjs, gdm and what not.<br />
<br />
As this is just the first week, but you can see it is not quite bad, I'm rescheduling: in the next week I'll be working on finishing the lock screen, including notifications. It originally accounted for 2 to 3 weeks - I think that's still valid, but I have some more time now, so I'll try to get in touch with the designers: we want to have appropriate privacy settings in the control center, to decide what is shown and what is hidden.<br />I had planned two weeks for PINs, but it was <a href="https://live.gnome.org/GnomeOS/Design/Whiteboards/ScreenLock/PinAuthentication">decided in IRC</a> that this feature is self-contained and not fundamental, so I'm putting it at the end for now.<br />Finally, along all the period, UI revision and bug fixing will take place. For example, dear designers who had the arrow idea, it's not quite easy to use it with a mouse...<br />
<br />
So, stay tuned!<br />Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com3tag:blogger.com,1999:blog-6368322806780532926.post-59252789853615007582012-05-22T09:34:00.000-07:002012-05-22T09:34:06.775-07:00And now on Planet GNOME!Yes, I've been added to Planet GNOME!<br />
Well, not much else to say, as I blogged recently on my work.<br />
<br />
Just a small gift:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4KSapEkerujV8U6O_uleH4po7BoAR1n9CLEDu2Yb_83xlL2smFaP1aKA4PD3DMtZvuI9dQkrIsl0fy8IG0LOgJG2HFEEfmt6BSK9DpmsIvFBtZBS7Od2Ws0YprpoUv5m1J2WQW-amF3Td/s1600/unlock-dialog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4KSapEkerujV8U6O_uleH4po7BoAR1n9CLEDu2Yb_83xlL2smFaP1aKA4PD3DMtZvuI9dQkrIsl0fy8IG0LOgJG2HFEEfmt6BSK9DpmsIvFBtZBS7Od2Ws0YprpoUv5m1J2WQW-amF3Td/s640/unlock-dialog.png" width="640" /></a></div>
<br />
You want to try this? Grab the slave-connection branch from git://github.com/gcampax/gdm.git and the screen-shield branch from git://github.com/gcampax/gnome-shell.git .<br />
Note: you need to have the latest gdm running, which means probably turning it into a rpm. And that will completely break your greeter, so make sure you have autologin enabled.<br />
Also note: I follow the "Rebase early, rebase often" policy, which means that following my personal repository is a very bad idea. For "stable" stuff, you can usually find a wip/* branch at the corresponding gnome.org repo.<br />
<br />
Enjoy!Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com2tag:blogger.com,1999:blog-6368322806780532926.post-58446699919170317452012-05-16T03:35:00.002-07:002012-05-16T03:35:40.288-07:00Almost thereCoding season will start next week, but since I already started coding, I thought I could give an update it too.<br />
<br />
If you look at the project schedule, you'll see little mention of gdm - all work is inside gnome-shell. But one of the primary advertised features is so called pam multi-stack, that is, having multiple authentication methods (such as smartcard, fingerprint and password) at the same time, and this would reuse the same code in gdm.<br />
gdm's code base is quite old and very intricated, with multiple components splitted around in different processes talking via private DBus (ugh!), that's why in the last weeks I've been trying to reorganize it, dropping the dependency on libdbus and using the awesome gdbus-codegen.<br />
You can follow the work on this branch: <a href="https://github.com/gcampax/gdm/tree/gdbus-port">https://github.com/gcampax/gdm/tree/gdbus-port</a> . Don't clone it though: it's my private repository and I often push non-fast-forward updates. When the branch is ready for review, I'll push a wip/gdbus-port on git.gnome.org.<br />
<br />Next step will be exposing an interface on the system bus to get a private connection with the slave (the component supervising sessions and greeters). The details of this are not finalized yet, but essentially it would be a org.gnome.DisplayManager.Display.GetSlaveConnection() returning a bus address (or a bus guuid + open socket fd?). Details at <a href="https://mail.gnome.org/archives/gdm-list/2012-April/msg00005.html">https://mail.gnome.org/archives/gdm-list/2012-April/msg00005.html</a> and following.<br />
<br />
Then it will be the hard part - testing this brand new gdm. I had high hopes in <a href="https://live.gnome.org/Ostree">ostree</a>, but it seems it's not quite there yet (<a href="https://mail.gnome.org/archives/desktop-devel-list/2012-April/msg00294.html">mail from its author</a>), so I'll probably end up building an rpm and testing in a Fedora 18 VM - it's going to be a lot of fun!<br />
<br />
So, it seems my plan is settled for the near future :)Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com0tag:blogger.com,1999:blog-6368322806780532926.post-14339930373874542272012-04-24T10:51:00.001-07:002012-04-24T10:51:26.652-07:00So it begins...So here I am - opening a blog. I wanted to do it for a while, and never got the occasion, but given that it is practically a necessity for Google Summer of Code, it's time to start it.<br />
I'm not a writer, so don't expect regular updates beyond those required by GSoC, although I'll try to write if I find something interesting and have some spare time. Also, please excuse my grammar - but don't refrain yourself from commenting on it, I'm all for a free English course!<br />
<br />
Speaking of something useful, GSoC. I'll be working on Lock Screen, you know - what used to be the lovely screensaver with logos going back and forth. Now it is (or will be) a fancy tablet-like screen showing the clock, missed notifications, music stuff, and of course, allowing you to unlock by all the 10 different methods supported by your hardware, and then some.<br />
<br />
So... enjoy your reading!Anonymoushttp://www.blogger.com/profile/05492060391505544070noreply@blogger.com0