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!
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.
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.
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.
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!
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 🙂