Fedora Project community

GUADEC 2014, Day Four: Hardware, New IDE for GNOME

This is part four of a four part series covering the GUADEC conference. Check out part one, part two and part three for the full coverage on all days of talks from GUADEC.

The fourth day of GUADEC was mostly devoted to hardware. Attendees learned what it takes to integrate hardware with the desktop, how GNOME does continuous performance testing, how sandboxed apps may access hardware. Builder, a new IDE for GNOME, was introduced and the host city of GUADEC 2015 announced!

Hardware Integration

The fourth day of GUADEC was devoted to hardware and its interaction with desktop. The first talk was “Hardware Integration, The GNOME Way” by Bastien Nocera who has been a contributor to GNOME and Fedora for many years. At the beginning he talked about his experience with hardware integration and it’s really a looong list. He’s worked on nautilus-cd-burner, LIRC, bluetooth, iOS filesystem access support, fingerprint readers, Wacon support, orientation support and I’m probably missing out some.
The whole talk was more or less about what it takes to do a proper integration of hardware with the desktop. He mentioned a case back from 2008 which is related to Fedora and showed it as an example of a wrong approach to hardware integration. According to Bastian, GNOME currently well handles screens, touchscreens, storage devices, screen rotation, showing/hiding the cursor, but there are types of hardware which may be useful on the desktop and is starting to appear on more and more laptops: accelerometer, light sensors, compass. He says that the situation about hardware has improved significantly and a lot of Windows 8 machines have a standard, well documented hardware interface and it just needs to be implemented in Linux.

Performance Testing on Actual Hardware

The next talk was also very much hardware related. Owen Taylor talked on continuous integration performance testing on actual hardware. According to Owen, continuous performance testing is very important. It helps find performance regressions more easily because the delta between the code tested last time and the code tested now is much smaller, thus there are much fewer commits to investigate.
He noted that desktop performance testing in VMs is not very useful which is why he has several physical machines that are connected to a controller which downloads new builds of GNOME Continuous and installs them on the connected machines. The testing can be controlled by GNOME Hardware Testing app Owen has created. And what is tested? Here are currently used metrics:  time from boot to desktop, time redraw entire empty desktop, time to show overview, time to redraw overview with 5 windows, time to show application picker, time to draw frame from test application, time to start gedit. Tests are scripted right in the shell (javascript) and events logged with  timestamp. The results are uploaded to perf.gnome.org. In the future, he’d like to have results in the graph linked to particular commits (tests are triggered after very commit), have more metrics (covering also features in apps), assemble more machines and various kinds of them (laptops, ARM devices,…).

Owen Taylor

Owen Taylor

Sandboxing and hardware

The first talk after lunch was also related to hardware. David King talked on the new architecture of Cheese he’d been working on for some time. Cheese is a photo booth kind of application and was created by Daniel Siegel in 2007. David took over maintenance of Cheese around the 3.2 release. The UI of the app is still a subject of change and there are design changes planned.
But David talked mostly about the underlying technologies. Cheese is a typical multimedia desktop app that approaches physical devices directly (in this case it’s a camera). David is trying to change the architecture in a way that would allow sandboxing. Cheese should not access hardware directly, but via a D-Bus API, so that the access can be controlled. David even has a working prototype, but the problem is that the current implementation of D-Bus is too slow to transfer a video stream. So like many other initiatives related to sandboxing this one is also waiting for kdbus/memfds. When it’s in place there are other challenges left: e.g. to design a D-Bus API which will expose all properties and still be generic.

David King

David King

People don’t need a better desktop, they need a different desktop

The last keynote of the conference was delivered by Matthew Garrett who is a long-time contributor to Fedora and currently a member of the Fedora board. Matthew did a small excursion to the history of desktop systems from early 80s till the last trends. According to Matthew, people don’t need a better desktop, they need a different desktop, a desktop where security is a priority concern in OS design, which respects privacy and is open. In his opinion, the desktop is GNOME because it’s free of corporate control, developed transparently, developed for the needs of the user.

Matthew Garrett

Matthew Garrett

Builder: a new IDE for GNOME

The last talk of the day was “Builder, a new IDE for GNOME” by Christian Hergert. Christian started the talk by clearly stating what Builder is not intended to be: a generic IDE (use Eclipse, Anjuta, MonoDevelop,… instead). And it most likely won’t support plugins. Builder should be an IDE specializing on GNOME development. Here are some characteristics of Builder: components are broken into services and services are contained in sub-processes, uses basic autotools management, source editor uses GtkSourceView, has code highlighting, auto-completation, cross-reference, change tracking, snippets, auto-formatting, distraction free mode. Vim/Emacs integration may be possible. The UI designer will use Glade and integrate GTK+ Inspector. Builder will also contain resource manager, simulator (something similar to Boxes, using OSTree), debugger, profiler, source control.
After naming all Builder’s characteristics Christian demoed a prototype. It’s still in very early stages  and looking at the plans I wondered who was going to pull it off. And then Christian came up with a really bold announcement: he is going to quit his job in MongoDB and work on Builder full-time for a year living off his savings and hoping that he will get some funds in a fundraising he is planning to try in fall. Wow, that makes achieving the planned goals much more believable. Good luck, Christian!

Christian Hergert

Christian Hergert

The End

The core days of GUADEC 2014 ended with 5-minute lightning talks that covered a lot of topics, some completely unrelated to GNOME. BoFs start tomorrow and will be taking place till Friday. But most people leave the conference after the core days and the second part is only for the focused groups.
And what city will host GUADEC 2015? Gothenburg! Yeah, the Swedish conspiracy has finally been revealed :)

Group Photo

Group Photo (Author: Ekaterina Gerasimova, CC-BY-SA 2.0)

1 Comment

  1. Some great news. Especially about Builder.

    All theses talks are recorded?